Update some CMake files to add missing constructs & remove obsolete ones #986
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 all wheels for testing | |
| on: | |
| push: | |
| # Build wheels when pushing to master. | |
| branches: | |
| - master | |
| # Build wheels for any PRs. | |
| pull_request: | |
| # Allow manual invocation, for testing. | |
| workflow_dispatch: | |
| jobs: | |
| build_wheels: | |
| name: Build wheels on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: macos-13-large # Apple Silicon | |
| name: mac_arm64 | |
| env: | |
| macosx_deployment_target: "13.0" | |
| cibw: | |
| build: "cp39* cp310* cp311* cp312*" | |
| - os: ubuntu-24.04 | |
| name: manylinux2014 | |
| cibw: | |
| arch: x86_64 | |
| build: "cp39* cp310* cp311* cp312*" | |
| manylinux_image: manylinux2014 | |
| - os: windows-2019 | |
| name: win_amd64 | |
| architecture: x64 | |
| cibw: | |
| build: "cp39-win_amd64 cp310-win_amd64 cp311-win_amd64 cp312-win_amd64" | |
| env: | |
| MACOSX_DEPLOYMENT_TARGET: "${{ matrix.env.macosx_deployment_target }}" | |
| CIBW_BUILD: "${{ matrix.cibw.build || '*' }}" | |
| CIBW_SKIP: "*musllinux*" | |
| CIBW_ARCHS: "${{ matrix.cibw.arch || 'auto' }}" | |
| CIBW_MANYLINUX_X86_64_IMAGE: "${{ matrix.cibw.manylinux_image }}" | |
| CIBW_BEFORE_BUILD_MACOS: "brew install libomp llvm@12 && brew link --overwrite python@3.11 && brew link --force libomp" | |
| CIBW_REPAIR_WHEEL_COMMAND_MACOS: "delocate-listdeps {wheel} && delocate-wheel --verbose --require-archs {delocate_archs} -w {dest_dir} {wheel}" | |
| # to install latest delocate package | |
| CIBW_DEPENDENCY_VERSIONS: "latest" | |
| # due to package and module name conflict have to temporarily move it away to run tests | |
| CIBW_BEFORE_TEST: "mv {package}/qsimcirq /tmp" | |
| CIBW_TEST_EXTRAS: "dev" | |
| CIBW_TEST_COMMAND: "pytest {package}/qsimcirq_tests/qsimcirq_test.py && mv /tmp/qsimcirq {package}" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # Used to host cibuildwheel | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install cibuildwheel and twine | |
| run: python -m pip install cibuildwheel==2.20.0 | |
| - name: Install requirements | |
| run: python -m pip install -r requirements.txt | |
| - name: Run C++ tests | |
| run: bash dev_tools/test_libs.sh | |
| - name: Build wheels | |
| run: python -m cibuildwheel --output-dir wheelhouse | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: python-wheels-${{ matrix.name }} | |
| path: ./wheelhouse/*.whl |