Skip to content

Commit

Permalink
Update tests to include 3.12; update wheel builder workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
mrmundt committed Oct 10, 2023
1 parent eb7d5cb commit a523eea
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 114 deletions.
128 changes: 24 additions & 104 deletions .github/workflows/release_wheel_creation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,49 +18,33 @@ env:
PYOMO_SETUP_ARGS: --with-distributable-extensions

jobs:
manylinux:
name: ${{ matrix.TARGET }}/${{ matrix.wheel-version }}_wheel_creation
bdist_wheel:
name: Build wheels (3.8+) on ${{ matrix.os }} for ${{ matrix.arch }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
wheel-version: ['cp38-cp38', 'cp39-cp39', 'cp310-cp310', 'cp311-cp311']
os: [ubuntu-latest]
os: [ubuntu-20.04, windows-latest, macos-latest]
arch: [auto]
include:
- os: ubuntu-latest
TARGET: manylinux
python-version: [3.8]
- os: ubuntu-20.04
arch: aarch64
- os: macos-latest
arch: arm64
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine wheel setuptools pybind11
# TODO: Update the manylinux builder to next tagged release
- name: Build manylinux Python wheels
uses: RalfG/python-wheels-manylinux-build@a1e012c58ed3960f81b7ed2759a037fb0ad28e2d
with:
python-versions: ${{ matrix.wheel-version }}
build-requirements: 'cython pybind11'
package-path: ''
pip-wheel-args: ''
# When locally testing, --no-deps flag is necessary (PyUtilib dependency will trigger an error otherwise)
- name: Consolidate wheels
run: |
sudo test -d dist || mkdir -v dist
sudo find . -name \*.whl | grep -v /dist/ | xargs -n1 -i mv -v "{}" dist/
- name: Delete linux wheels
run: |
sudo rm -rfv dist/*-linux_x86_64.whl
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: manylinux-wheels
path: dist
- uses: actions/checkout@v4
- name: Build wheels
uses: pypa/[email protected]
with:
output-dir: dist
env:
WRAPT_INSTALL_EXTENSIONS: true
CIBW_SKIP: "pp* cp36* cp37*"
CIBW_BUILD_VERBOSITY: 1
CIBW_ARCHS: ${{ matrix.arch }}
- uses: actions/upload-artifact@v3
with:
name: wheels
path: dist/*.whl

generictarball:
name: ${{ matrix.TARGET }}
Expand All @@ -74,9 +58,9 @@ jobs:
TARGET: generic_tarball
python-version: [3.8]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
Expand All @@ -92,67 +76,3 @@ jobs:
name: generictarball
path: dist

osx:
name: ${{ matrix.TARGET }}py${{ matrix.python-version }}/wheel_creation
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest]
include:
- os: macos-latest
TARGET: osx
python-version: [ 3.8, 3.9, '3.10', '3.11' ]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine wheel setuptools cython pybind11
- name: Build OSX Python wheels
run: |
python setup.py --with-cython --with-distributable-extensions sdist --format=gztar bdist_wheel
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: osx-wheels
path: dist

windows:
name: ${{ matrix.TARGET }}py${{ matrix.python-version }}/wheel_creation
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest]
include:
- os: windows-latest
TARGET: win
python-version: [ 3.8, 3.9, '3.10', '3.11' ]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
shell: pwsh
run: |
$env:PYTHONWARNINGS="ignore::UserWarning"
Invoke-Expression "python -m pip install --upgrade pip"
Invoke-Expression "pip install setuptools twine wheel cython pybind11"
- name: Build Windows Python wheels
shell: pwsh
run: |
$env:PYTHONWARNINGS="ignore::UserWarning"
Invoke-Expression "python setup.py --with-cython --with-distributable-extensions sdist --format=gztar bdist_wheel"
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: win-wheels
path: dist
10 changes: 5 additions & 5 deletions .github/workflows/test_branches.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Pyomo source
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:

include:
- os: ubuntu-latest
python: '3.11'
python: '3.12'
TARGET: linux
PYENV: pip

Expand Down Expand Up @@ -112,7 +112,7 @@ jobs:

steps:
- name: Checkout Pyomo source
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Configure job parameters
run: |
Expand Down Expand Up @@ -657,7 +657,7 @@ jobs:
timeout-minutes: 10
steps:
- name: Checkout Pyomo source
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python 3.8
uses: actions/setup-python@v4
Expand Down Expand Up @@ -712,7 +712,7 @@ jobs:

steps:
- name: Checkout Pyomo source
uses: actions/checkout@v3
uses: actions/checkout@v4
# We need the source for .codecov.yml and running "coverage xml"

#- name: Pip package cache
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test_pr_and_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Pyomo source
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
Expand All @@ -60,7 +60,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: [ 3.8, 3.9, '3.10', '3.11' ]
python: [ 3.8, 3.9, '3.10', '3.11', '3.12' ]
other: [""]
category: [""]

Expand Down Expand Up @@ -142,7 +142,7 @@ jobs:

steps:
- name: Checkout Pyomo source
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Configure job parameters
run: |
Expand Down Expand Up @@ -688,7 +688,7 @@ jobs:
timeout-minutes: 10
steps:
- name: Checkout Pyomo source
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python 3.8
uses: actions/setup-python@v4
Expand Down Expand Up @@ -743,7 +743,7 @@ jobs:

steps:
- name: Checkout Pyomo source
uses: actions/checkout@v3
uses: actions/checkout@v4
# We need the source for .codecov.yml and running "coverage xml"

#- name: Pip package cache
Expand Down

0 comments on commit a523eea

Please sign in to comment.