Fix intersection bug and add Python 3.13 support (v0.7.0) #207
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and upload to PyPI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - v* | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| build_wheels: | |
| name: Build wheels on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| # Ensure that a wheel builder finishes even if another fails | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # Window 64 bit | |
| # Note: windows-2019 is needed for older Python versions: | |
| # https://github.com/scikit-learn/scikit-learn/issues/22530 | |
| - os: windows-2019 | |
| python: 36 | |
| platform_id: win_amd64 | |
| arch: AMD64 | |
| - os: windows-2019 | |
| python: 37 | |
| platform_id: win_amd64 | |
| arch: AMD64 | |
| - os: windows-2019 | |
| python: 38 | |
| platform_id: win_amd64 | |
| arch: AMD64 | |
| - os: windows-latest | |
| python: 39 | |
| platform_id: win_amd64 | |
| arch: AMD64 | |
| - os: windows-latest | |
| python: 310 | |
| platform_id: win_amd64 | |
| arch: AMD64 | |
| - os: windows-latest | |
| python: 311 | |
| platform_id: win_amd64 | |
| arch: AMD64 | |
| - os: windows-latest | |
| python: 312 | |
| platform_id: win_amd64 | |
| arch: AMD64 | |
| - os: windows-latest | |
| python: 313 | |
| platform_id: win_amd64 | |
| arch: AMD64 | |
| # Linux 64 bit manylinux2014 | |
| - os: ubuntu-latest | |
| python: 36 | |
| platform_id: manylinux_x86_64 | |
| manylinux_image: manylinux2014 | |
| arch: x86_64 | |
| - os: ubuntu-latest | |
| python: 37 | |
| platform_id: manylinux_x86_64 | |
| manylinux_image: manylinux2014 | |
| arch: x86_64 | |
| - os: ubuntu-latest | |
| python: 38 | |
| platform_id: manylinux_x86_64 | |
| manylinux_image: manylinux2014 | |
| arch: x86_64 | |
| - os: ubuntu-latest | |
| python: 39 | |
| platform_id: manylinux_x86_64 | |
| manylinux_image: manylinux2014 | |
| arch: x86_64 | |
| - os: ubuntu-latest | |
| python: 310 | |
| platform_id: manylinux_x86_64 | |
| manylinux_image: manylinux2014 | |
| arch: x86_64 | |
| - os: ubuntu-latest | |
| python: 311 | |
| platform_id: manylinux_x86_64 | |
| manylinux_image: manylinux2014 | |
| arch: x86_64 | |
| - os: ubuntu-latest | |
| python: 312 | |
| platform_id: manylinux_x86_64 | |
| manylinux_image: manylinux2014 | |
| arch: x86_64 | |
| - os: ubuntu-latest | |
| python: 313 | |
| platform_id: manylinux_x86_64 | |
| manylinux_image: manylinux2014 | |
| arch: x86_64 | |
| # Linux 64 bit aarch64 | |
| - os: ubuntu-latest | |
| python: 36 | |
| platform_id: manylinux_aarch64 | |
| manylinux_image: manylinux2014 | |
| arch: aarch64 | |
| - os: ubuntu-latest | |
| python: 37 | |
| platform_id: manylinux_aarch64 | |
| manylinux_image: manylinux2014 | |
| arch: aarch64 | |
| - os: ubuntu-latest | |
| python: 38 | |
| platform_id: manylinux_aarch64 | |
| manylinux_image: manylinux2014 | |
| arch: aarch64 | |
| - os: ubuntu-latest | |
| python: 39 | |
| platform_id: manylinux_aarch64 | |
| manylinux_image: manylinux2014 | |
| arch: aarch64 | |
| - os: ubuntu-latest | |
| python: 310 | |
| platform_id: manylinux_aarch64 | |
| manylinux_image: manylinux2014 | |
| arch: aarch64 | |
| - os: ubuntu-latest | |
| python: 311 | |
| platform_id: manylinux_aarch64 | |
| manylinux_image: manylinux2014 | |
| arch: aarch64 | |
| - os: ubuntu-latest | |
| python: 312 | |
| platform_id: manylinux_aarch64 | |
| manylinux_image: manylinux2014 | |
| arch: aarch64 | |
| - os: ubuntu-latest | |
| python: 313 | |
| platform_id: manylinux_aarch64 | |
| manylinux_image: manylinux2014 | |
| arch: aarch64 | |
| # MacOS x86_64 | |
| - os: macos-13 | |
| python: 36 | |
| platform_id: macosx_x86_64 | |
| macosx_deployment_target: 10.14 | |
| arch: x86_64 | |
| - os: macos-13 | |
| python: 37 | |
| platform_id: macosx_x86_64 | |
| macosx_deployment_target: 10.14 | |
| arch: x86_64 | |
| - os: macos-13 | |
| python: 38 | |
| platform_id: macosx_x86_64 | |
| macosx_deployment_target: 10.14 | |
| arch: x86_64 | |
| - os: macos-13 | |
| python: 39 | |
| platform_id: macosx_x86_64 | |
| macosx_deployment_target: 10.14 | |
| arch: x86_64 | |
| - os: macos-13 | |
| python: 310 | |
| platform_id: macosx_x86_64 | |
| macosx_deployment_target: 10.14 | |
| arch: x86_64 | |
| - os: macos-13 | |
| python: 311 | |
| platform_id: macosx_x86_64 | |
| macosx_deployment_target: 10.14 | |
| arch: x86_64 | |
| - os: macos-13 | |
| python: 312 | |
| platform_id: macosx_x86_64 | |
| macosx_deployment_target: 10.14 | |
| arch: x86_64 | |
| - os: macos-13 | |
| python: 313 | |
| platform_id: macosx_x86_64 | |
| macosx_deployment_target: 10.14 | |
| arch: x86_64 | |
| # MacOS arm64 | |
| - os: macos-14 | |
| python: 38 | |
| platform_id: macosx_arm64 | |
| macosx_deployment_target: 11.7 | |
| arch: arm64 | |
| - os: macos-14 | |
| python: 39 | |
| platform_id: macosx_arm64 | |
| macosx_deployment_target: 11.7 | |
| arch: arm64 | |
| - os: macos-14 | |
| python: 310 | |
| platform_id: macosx_arm64 | |
| macosx_deployment_target: 11.7 | |
| arch: arm64 | |
| - os: macos-14 | |
| python: 311 | |
| platform_id: macosx_arm64 | |
| macosx_deployment_target: 11.7 | |
| arch: arm64 | |
| - os: macos-14 | |
| python: 312 | |
| platform_id: macosx_arm64 | |
| macosx_deployment_target: 11.7 | |
| arch: arm64 | |
| - os: macos-14 | |
| python: 313 | |
| platform_id: macosx_arm64 | |
| macosx_deployment_target: 11.7 | |
| arch: arm64 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: actions/setup-python@v5 | |
| name: Install Python | |
| with: | |
| python-version: '3.10' | |
| - name: Set up QEMU | |
| if: runner.os == 'Linux' | |
| uses: docker/setup-qemu-action@v3 | |
| with: | |
| platforms: all | |
| - name: Build wheels | |
| uses: pypa/[email protected] | |
| env: | |
| CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux_image }} | |
| CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }} | |
| CIBW_BEFORE_BUILD: pip install pybind11 | |
| CIBW_TEST_COMMAND: pytest {project}/tests -vv | |
| CIBW_TEST_REQUIRES: pytest numpy | |
| CIBW_BUILD_VERBOSITY: 1 | |
| CIBW_ARCHS: ${{ matrix.arch }} | |
| MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }} | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: wheels-${{ matrix.os }}-${{ matrix.python }} | |
| path: ./wheelhouse/*.whl | |
| build_sdist: | |
| name: Build source distribution | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: actions/setup-python@v5 | |
| name: Install Python | |
| with: | |
| python-version: '3.10' | |
| - name: Build sdist | |
| run: python setup.py sdist | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: sdist | |
| path: dist/*.tar.gz | |
| upload_pypi: | |
| needs: [build_wheels, build_sdist] | |
| runs-on: ubuntu-latest | |
| # upload to PyPI on every tag starting with 'v' | |
| if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v') | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| pattern: '*' | |
| path: dist | |
| merge-multiple: true | |
| - uses: pypa/[email protected] | |
| with: | |
| user: __token__ | |
| password: ${{ secrets.PYPI_API_TOKEN }} |