Skip to content

Deploy to PYPI

Deploy to PYPI #11

Workflow file for this run

name: Deploy to PYPI
on:
workflow_dispatch:
jobs:
sdist:
name: Build sdist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build sdist
run: python -m build --sdist
- uses: actions/upload-artifact@v4
with:
name: dist
path: ./dist/*.tar.gz
wheels:
name: Build wheels
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install cibuildwheel
- name: Build wheels
run: |
cibuildwheel --output-dir dist
- uses: actions/upload-artifact@v4
with:
name: wheels
path: ./dist/*
publish:
name: Publish wheels and sdist to PyPI
runs-on: ubuntu-latest
permissions:
id-token: write
needs: [wheels,sdist]
steps:
- uses: actions/download-artifact@v4
with:
path: artifacts
- name: Move all distributions to `dist/`
run: |
mkdir -p dist
find artifacts -name '*.whl' -exec cp {} dist/ \;
find artifacts -name '*.tar.gz' -exec cp {} dist/ \;
- uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true
verbose: true
packages-dir: dist/