Embedding Dual-Fixing into Probing #738
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-wheels-push | |
| on: | |
| pull_request: | |
| push: | |
| tags: | |
| - 'v*' | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build_sdist: | |
| name: Build source distribution | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Build sdist | |
| shell: bash | |
| run: pipx run build --sdist | |
| - name: check metadata | |
| run: pipx run twine check dist/* | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: cibw-sdist | |
| path: dist/*.tar.gz | |
| compression-level: 0 | |
| build_wheels: | |
| name: Build wheel for ${{ matrix.python }}-${{ matrix.buildplat[1] }} | |
| runs-on: ${{ matrix.buildplat[0] }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| buildplat: | |
| - [ubuntu-24.04, manylinux_x86_64] | |
| - [ubuntu-24.04, manylinux_i686] | |
| - [ubuntu-24.04-arm, manylinux_aarch64] | |
| - [ubuntu-24.04, musllinux_x86_64] | |
| - [ubuntu-24.04, musllinux_i686] | |
| - [ubuntu-24.04-arm, musllinux_aarch64] | |
| - [macos-15-intel, macosx_x86_64] | |
| - [macos-14, macosx_arm64] | |
| - [windows-2022, win_amd64] | |
| - [windows-2022, win32] | |
| python: ["cp39", "cp310", "cp311", "cp312", "cp313", "cp314", "cp314t"] | |
| exclude: | |
| # numpy (pulled in by the test suite) has no 32-bit linux free-threaded wheels | |
| - buildplat: [ubuntu-24.04, manylinux_i686] | |
| python: "cp314t" | |
| - buildplat: [ubuntu-24.04, musllinux_i686] | |
| python: "cp314t" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Build wheels | |
| uses: pypa/cibuildwheel@v4.0.0 | |
| env: | |
| CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }} | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: cibw-wheels-${{ matrix.python }}-${{ matrix.buildplat[1] }} | |
| path: wheelhouse/*.whl | |
| compression-level: 0 | |
| build_wheels_extras: | |
| name: Build highspy-extras wheels for ${{ matrix.buildplat[1] }} | |
| runs-on: ${{ matrix.buildplat[0] }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| buildplat: | |
| - [ubuntu-24.04, manylinux_x86_64] | |
| - [ubuntu-24.04, manylinux_i686] | |
| - [ubuntu-24.04-arm, manylinux_aarch64] | |
| - [ubuntu-24.04, musllinux_x86_64] | |
| - [ubuntu-24.04, musllinux_i686] | |
| - [ubuntu-24.04-arm, musllinux_aarch64] | |
| - [macos-15-intel, macosx_x86_64] | |
| - [macos-14, macosx_arm64] | |
| - [windows-2022, win_amd64] | |
| - [windows-2022, win32] | |
| python: ["cp39", "cp310", "cp311", "cp312", "cp313", "cp314", "cp314t"] | |
| exclude: | |
| # numpy (pulled in by the test suite) has no 32-bit linux free-threaded wheels | |
| - buildplat: [ubuntu-24.04, manylinux_i686] | |
| python: "cp314t" | |
| - buildplat: [ubuntu-24.04, musllinux_i686] | |
| python: "cp314t" | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Build wheels | |
| uses: pypa/cibuildwheel@v4.0.0 | |
| with: | |
| package-dir: ./highspy-extras | |
| env: | |
| CIBW_BUILD: ${{ matrix.python }}-${{ matrix.buildplat[1] }} | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: cibw-extras-wheels-${{ matrix.python }}-${{ matrix.buildplat[1] }} | |
| path: wheelhouse/*.whl | |
| compression-level: 0 | |
| build_sdist_extras: | |
| name: Build highspy-extras source distribution | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Build sdist | |
| shell: bash | |
| run: pipx run build --sdist highspy-extras/ | |
| - name: check metadata | |
| run: pipx run twine check highspy-extras/dist/* | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: cibw-extras-sdist | |
| path: highspy-extras/dist/*.tar.gz | |
| compression-level: 0 | |
| upload_testpypi: | |
| name: Publish highspy to TestPyPI | |
| runs-on: ubuntu-latest | |
| needs: [build_wheels, build_sdist] | |
| if: github.event_name == 'workflow_dispatch' | |
| environment: | |
| name: testpypi | |
| url: https://test.pypi.org/p/highspy | |
| permissions: | |
| id-token: write | |
| steps: | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: cibw-wheels-* | |
| path: dist | |
| merge-multiple: true | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: cibw-sdist | |
| path: dist | |
| merge-multiple: true | |
| - uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| repository-url: https://test.pypi.org/legacy/ | |
| verbose: true | |
| upload_testpypi_extras: | |
| name: Publish highspy-extras to TestPyPI | |
| runs-on: ubuntu-latest | |
| needs: [build_wheels_extras, build_sdist_extras] | |
| if: github.event_name == 'workflow_dispatch' | |
| environment: | |
| name: testpypi | |
| url: https://test.pypi.org/p/highspy-extras | |
| permissions: | |
| id-token: write | |
| steps: | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: cibw-extras-wheels-* | |
| path: dist | |
| merge-multiple: true | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: cibw-extras-sdist | |
| path: dist | |
| merge-multiple: true | |
| - uses: pypa/gh-action-pypi-publish@release/v1 | |
| with: | |
| repository-url: https://test.pypi.org/legacy/ | |
| verbose: true | |
| upload_pypi: | |
| name: Publish highspy to PyPI | |
| runs-on: ubuntu-latest | |
| needs: [build_wheels_extras, build_sdist_extras, build_wheels, build_sdist] | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | |
| environment: | |
| name: pypi | |
| url: https://pypi.org/p/highspy | |
| permissions: | |
| id-token: write | |
| steps: | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: cibw-wheels-* | |
| path: dist | |
| merge-multiple: true | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: cibw-sdist | |
| path: dist | |
| merge-multiple: true | |
| - uses: pypa/gh-action-pypi-publish@release/v1 | |
| upload_pypi_extras: | |
| name: Publish highspy-extras to PyPI | |
| runs-on: ubuntu-latest | |
| needs: [build_wheels_extras, build_sdist_extras, build_wheels, build_sdist] | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | |
| environment: | |
| name: pypi | |
| url: https://pypi.org/p/highspy-extras | |
| permissions: | |
| id-token: write | |
| steps: | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: cibw-extras-wheels-* | |
| path: dist | |
| merge-multiple: true | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| pattern: cibw-extras-sdist | |
| path: dist | |
| merge-multiple: true | |
| - uses: pypa/gh-action-pypi-publish@release/v1 |