name: wheels on: pull_request: release: types: [published] workflow_dispatch: permissions: contents: read jobs: build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, ubuntu-24.04-arm, macos-15-intel, macos-latest] steps: - uses: actions/checkout@v7 - uses: pypa/cibuildwheel@e090b81e30c4d855ea63bf4b6e59204c09a101ae # v4.2.1 - uses: actions/setup-python@v7 with: python-version: '3.11' - name: Build source distribution run: | python -m pip install build python -m build --sdist --outdir wheelhouse - uses: actions/upload-artifact@v7 with: name: dist-${{ matrix.os }} path: wheelhouse/* if-no-files-found: error publish: if: github.event_name == 'release' needs: build runs-on: ubuntu-latest environment: pypi steps: - uses: actions/download-artifact@v8 with: pattern: dist-* merge-multiple: true path: dist - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2 with: password: ${{ secrets.PYPI_PAT }}