mirror of
https://github.com/ml-explore/mlx.git
synced 2025-12-16 01:49:05 +08:00
Set up publishing to PyPI and Test-PyPI (#2721)
This commit is contained in:
68
.github/workflows/release.yml
vendored
68
.github/workflows/release.yml
vendored
@@ -10,6 +10,15 @@ permissions:
|
|||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
setup:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
pypi_env: ${{ github.event_name == 'push' && 'pypi' || 'test-pypi' }}
|
||||||
|
pypi_url: ${{ github.event_name == 'push' && 'https://upload.pypi.org/legacy/' || 'https://test.pypi.org/legacy/' }}
|
||||||
|
steps:
|
||||||
|
- name: Set publishing variables
|
||||||
|
run: echo "Publishing setup complete"
|
||||||
|
|
||||||
build_documentation:
|
build_documentation:
|
||||||
runs-on: [self-hosted, macos]
|
runs-on: [self-hosted, macos]
|
||||||
steps:
|
steps:
|
||||||
@@ -108,81 +117,90 @@ jobs:
|
|||||||
pypi-publish:
|
pypi-publish:
|
||||||
name: Upload release to PyPI
|
name: Upload release to PyPI
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [build_linux_release, build_mac_release]
|
needs: [setup, build_linux_release, build_mac_release]
|
||||||
permissions:
|
permissions:
|
||||||
id-token: write
|
id-token: write
|
||||||
environment:
|
environment:
|
||||||
name: pypi
|
name: ${{ needs.setup.outputs.pypi_env }}
|
||||||
url: https://pypi.org/p/mlx
|
url: https://pypi.org/p/mlx
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/download-artifact@v6
|
- uses: actions/download-artifact@v6
|
||||||
with:
|
with:
|
||||||
pattern: linux-wheels-*
|
pattern: linux-wheels-*
|
||||||
merge-multiples: true
|
merge-multiples: true
|
||||||
path: artifacts
|
path: dist
|
||||||
- uses: actions/download-artifact@v6
|
- uses: actions/download-artifact@v6
|
||||||
with:
|
with:
|
||||||
pattern: mac-wheels-*
|
pattern: mac-wheels-*
|
||||||
merge-multiples: true
|
merge-multiples: true
|
||||||
path: artifacts
|
path: dist
|
||||||
- name: Display structure of downloaded files
|
- name: Display structure of downloaded files
|
||||||
run: ls -R artifacts
|
run: ls -R dist
|
||||||
# - name: Publish package distributions to PyPI
|
- name: Publish package distributions to PyPI
|
||||||
# uses: pypa/gh-action-pypi-publish@release/v1
|
uses: pypa/gh-action-pypi-publish@release/v1
|
||||||
|
with:
|
||||||
|
repository-url: ${{ needs.setup.outputs.pypi_url }}
|
||||||
|
|
||||||
pypi-publish-cuda:
|
pypi-publish-cuda:
|
||||||
name: Upload CUDA release to PyPI
|
name: Upload CUDA release to PyPI
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: build_cuda_release
|
needs: [setup, build_cuda_release]
|
||||||
permissions:
|
permissions:
|
||||||
id-token: write
|
id-token: write
|
||||||
environment:
|
environment:
|
||||||
name: pypi
|
name: ${{ needs.setup.outputs.pypi_env }}
|
||||||
url: https://pypi.org/p/mlx-cuda
|
url: https://pypi.org/p/mlx-cuda
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/download-artifact@v6
|
- uses: actions/download-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: mlx-cuda
|
name: mlx-cuda
|
||||||
path: artifacts
|
path: dist
|
||||||
- name: Display structure of downloaded files
|
- name: Display structure of downloaded files
|
||||||
run: ls -R artifacts
|
run: ls -R dist
|
||||||
# - name: Publish package distributions to PyPI
|
- name: Publish package distributions to PyPI
|
||||||
# uses: pypa/gh-action-pypi-publish@release/v1
|
uses: pypa/gh-action-pypi-publish@release/v1
|
||||||
|
with:
|
||||||
|
repository-url: ${{ needs.setup.outputs.pypi_url }}
|
||||||
|
|
||||||
pypi-publish-cpu:
|
pypi-publish-cpu:
|
||||||
name: Upload CPU release to PyPI
|
name: Upload CPU release to PyPI
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: build_linux_release
|
needs: [setup, build_linux_release]
|
||||||
permissions:
|
permissions:
|
||||||
id-token: write
|
id-token: write
|
||||||
environment:
|
environment:
|
||||||
name: pypi
|
name: ${{ needs.setup.outputs.pypi_env }}
|
||||||
url: https://pypi.org/p/mlx-cpu
|
url: https://pypi.org/p/mlx-cpu
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/download-artifact@v6
|
- uses: actions/download-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: mlx-cpu
|
name: mlx-cpu
|
||||||
path: artifacts
|
path: dist
|
||||||
- name: Display structure of downloaded files
|
- name: Display structure of downloaded files
|
||||||
run: ls -R artifacts
|
run: ls -R dist
|
||||||
# - name: Publish package distributions to PyPI
|
- name: Publish package distributions to PyPI
|
||||||
# uses: pypa/gh-action-pypi-publish@release/v1
|
uses: pypa/gh-action-pypi-publish@release/v1
|
||||||
|
with:
|
||||||
|
repository-url: ${{ needs.setup.outputs.pypi_url }}
|
||||||
|
|
||||||
pypi-publish-metal:
|
pypi-publish-metal:
|
||||||
name: Upload Metal release to PyPI
|
name: Upload Metal release to PyPI
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: build_mac_release
|
needs: [setup, build_mac_release]
|
||||||
permissions:
|
permissions:
|
||||||
id-token: write
|
id-token: write
|
||||||
environment:
|
environment:
|
||||||
name: pypi
|
name: ${{ needs.setup.outputs.pypi_env }}
|
||||||
url: https://pypi.org/p/mlx-metal
|
url: https://pypi.org/p/mlx-metal
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/download-artifact@v6
|
- uses: actions/download-artifact@v6
|
||||||
with:
|
with:
|
||||||
name: mlx-metal
|
name: mlx-metal
|
||||||
path: artifacts
|
path: dist
|
||||||
- name: Display structure of downloaded files
|
- name: Display structure of downloaded files
|
||||||
run: ls -R artifacts
|
run: ls -R dist
|
||||||
# - name: Publish package distributions to PyPI
|
- name: Publish package distributions to PyPI
|
||||||
# uses: pypa/gh-action-pypi-publish@release/v1
|
uses: pypa/gh-action-pypi-publish@release/v1
|
||||||
|
with:
|
||||||
|
repository-url: ${{ needs.setup.outputs.pypi_url }}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user