ci: also test more recent Python versions #42
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 | |
| on: [push, pull_request] | |
| jobs: | |
| build_wheels: | |
| name: Build wheels on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: ["self-hosted", "ubuntu-24.04", "windows-2025", "macos-26"] | |
| fail-fast: false | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Build wheels | |
| uses: pypa/cibuildwheel@v3.3.0 | |
| env: | |
| # Increase build verbosity | |
| CIBW_BUILD_VERBOSITY: 1 | |
| # Apparently libomp is already installed on macos-12, so this is unnecessary | |
| # CIBW_BEFORE_ALL_MACOS: brew install libomp | |
| # Build protobuf ourselves due to absl | |
| CIBW_BEFORE_ALL_MACOS: > | |
| brew install boost eigen range-v3 yaml-cpp googletest zlib protobuf | |
| CIBW_BEFORE_BUILD_MACOS: > | |
| brew fetch --force --bottle-tag=arm64_monterey libomp && | |
| brew reinstall libomp | |
| CIBW_ENVIRONMENT_MACOS: > | |
| PKG_CONFIG_PATH="/opt/homebrew/opt/zlib/lib/pkgconfig" | |
| MACOSX_DEPLOYMENT_TARGET=26.0 | |
| CIBW_ENVIRONMENT_WINDOWS: > | |
| CMAKE_TOOLCHAIN_FILE="C:\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake" | |
| # Skip Boost, takes too long to build libraries we don't need | |
| # boost-geometry boost-filesystem boost-program-options | |
| CIBW_BEFORE_ALL_WINDOWS: > | |
| C:\vcpkg\bootstrap-vcpkg.bat && | |
| C:\vcpkg\vcpkg integrate install && | |
| C:\vcpkg\vcpkg install | |
| # brew fetch --force --bottle-tag=arm64_monterey libomp && | |
| # brew reinstall $(brew --cache --bottle-tag=arm64_monterey libomp) | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} | |
| path: ./wheelhouse/*.whl |