diff --git a/.github/workflows/publish_to_pypi.yaml b/.github/workflows/publish_to_pypi.yaml index 389d21b0..fa2195cd 100644 --- a/.github/workflows/publish_to_pypi.yaml +++ b/.github/workflows/publish_to_pypi.yaml @@ -4,8 +4,32 @@ on: types: [published] jobs: - build-publish: - name: Build and publish Python distributions to PyPI + + build_wheels: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macOS-latest] + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-python@v3 + with: + python-version: 3.11 + + - name: Build wheels + uses: pypa/cibuildwheel@v2.16.2 + env: + # Skip CPython 3.6, 3.7, 3.8, 3.12 + CIBW_SKIP: cp36-* cp37-* cp38-* cp312-* pp* + + - uses: actions/upload-artifact@v3 + with: + path: ./wheelhouse/*.whl + + make_sdist: + name: Make SDist runs-on: ubuntu-latest steps: - name: git checkout repository main @@ -25,9 +49,12 @@ jobs: run: python -m pip install build --user - name: Build a binary wheel and a source tarball - run: python -m build --sdist --wheel --outdir dist/ . + run: python -m build --sdist --outdir dist/ . + - uses: actions/upload-artifact@v3 with: + path: ./dist/*.tar.gz + pypi-publish: needs: ['build_wheels, make_sdist'] environment: 'publish'