Merge pull request #1939 from pierre-haessig/patch-1 #987
This file contains 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-python-package | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build_sdist: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build sdist | |
run: | | |
python3 -m pip install build | |
python3 -m build --sdist | |
- name: Install sdist | |
run: | | |
ls dist | |
python3 -m pip install dist/*.tar.gz | |
- name: Test highspy | |
run: | | |
python3 -m pip install pytest | |
python3 -m pytest $GITHUB_WORKSPACE | |
build_sdist_mac: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build sdist | |
run: | | |
python3 -m pip install build --break-system-packages | |
python3 -m build --sdist | |
- name: Install sdist | |
run: | | |
ls dist | |
python3 -m pip install dist/*.tar.gz --break-system-packages | |
- name: Test highspy | |
run: | | |
python3 -m pip install pytest --break-system-packages | |
python3 -m pytest $GITHUB_WORKSPACE | |
build_sdist_win: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install correct python version | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Build sdist | |
run: | | |
python -m pip install build | |
python -m build --sdist | |
- name: Install sdist | |
run: | | |
$item = Get-ChildItem dist | |
python -m pip install "$item" | |
python -c "import highspy; print(dir(highspy))" | |
- name: Test highspy | |
run: | | |
python -m pip install pytest | |
python -m pytest | |
build_wheel_linux: | |
# ubuntu 22 has a latest version of cmake, but setup-python | |
# does not seem to provide all necessary modules to find python | |
# from cmake. works on my machine, test the wheels manually | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# strategy: | |
# matrix: | |
# python: [3.12] | |
- name: Install correct python version | |
uses: actions/setup-python@v5 | |
# with: | |
# python-version: ${{ matrix.python }} | |
- name: Build wheel | |
run: | | |
python3 --version | |
python3 -m pip install cibuildwheel | |
python3 -m cibuildwheel --only cp310-manylinux_x86_64 $GITHUB_WORKSPACE | |
- name: Install wheel | |
run: | | |
ls wheelhouse | |
python3 -m pip install wheelhouse/*.whl | |
- name: Test highspy | |
run: | | |
python3 -m pip install pytest | |
python3 -m pytest $GITHUB_WORKSPACE | |
# macos 12 is Intel | |
build_wheel_macos_12: | |
runs-on: macos-12 | |
strategy: | |
matrix: | |
python: [3.11] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install correct python version | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Build wheel | |
run: | | |
python3 -m pip install cibuildwheel | |
python3 -m cibuildwheel --only cp311-macosx_x86_64 $GITHUB_WORKSPACE | |
- name: Install wheel | |
run: | | |
ls wheelhouse | |
python3 --version | |
python3 -m pip install wheelhouse/*.whl | |
python3 -c "import highspy; print(dir(highspy))" | |
- name: Test highspy | |
run: | | |
python3 -m pip install pytest | |
python3 -m pytest $GITHUB_WORKSPACE | |
# macos 13 is Intel | |
build_wheel_macos_13: | |
runs-on: macos-13 | |
strategy: | |
matrix: | |
python: [3.11] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install correct python version | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Build wheel | |
run: | | |
python3 -m pip install cibuildwheel | |
python3 -m cibuildwheel --only cp311-macosx_x86_64 $GITHUB_WORKSPACE | |
- name: Install wheel | |
run: | | |
ls wheelhouse | |
python3 --version | |
python3 -m pip install wheelhouse/*.whl | |
python3 -c "import highspy; print(dir(highspy))" | |
- name: Test highspy | |
run: | | |
python3 -m pip install pytest | |
python3 -m pytest $GITHUB_WORKSPACE | |
# macos 14 is M1 (beta) | |
build_wheel_macos_14: | |
runs-on: macos-14 | |
strategy: | |
matrix: | |
python: [3.11] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install correct python version | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Build wheel | |
run: | | |
python3 -m pip install cibuildwheel | |
python3 -m cibuildwheel --only cp311-macosx_arm64 $GITHUB_WORKSPACE | |
- name: Install wheel | |
run: | | |
ls wheelhouse | |
python3 --version | |
python3 -m pip install wheelhouse/*.whl | |
python3 -c "import highspy; print(dir(highspy))" | |
- name: Test highspy | |
run: | | |
python3 -m pip install pytest | |
python3 -m pytest $GITHUB_WORKSPACE | |
build_wheel_windows: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install correct python version | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Build wheel | |
run: | | |
python -m pip install cibuildwheel | |
python -m cibuildwheel --only cp39-win_amd64 $GITHUB_WORKSPACE | |
- name: Install wheel | |
run: | | |
ls wheelhouse | |
$item = Get-ChildItem wheelhouse | |
python -m pip install "$item" | |
python -c "import highspy; print(dir(highspy))" | |
- name: Test highspy | |
run: | | |
python -m pip install pytest | |
python -m pytest | |