forked from Pyomo/pyomo
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
67 changed files
with
8,730 additions
and
623 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,52 +15,67 @@ concurrency: | |
cancel-in-progress: true | ||
|
||
env: | ||
PYOMO_SETUP_ARGS: --with-distributable-extensions | ||
PYOMO_SETUP_ARGS: "--with-cython --with-distributable-extensions" | ||
|
||
jobs: | ||
manylinux: | ||
name: ${{ matrix.TARGET }}/${{ matrix.wheel-version }}_wheel_creation | ||
native_wheels: | ||
name: Build wheels (${{ matrix.wheel-version }}) on ${{ matrix.os }} for native and cross-compiled architecture | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
wheel-version: ['cp38-cp38', 'cp39-cp39', 'cp310-cp310', 'cp311-cp311'] | ||
os: [ubuntu-latest] | ||
include: | ||
- os: ubuntu-latest | ||
TARGET: manylinux | ||
python-version: [3.8] | ||
os: [ubuntu-22.04, windows-latest, macos-latest] | ||
arch: [all] | ||
wheel-version: ['cp38*', 'cp39*', 'cp310*', 'cp311*', 'cp312*'] | ||
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: | ||
CIBW_ARCHS_LINUX: "native" | ||
CIBW_ARCHS_MACOS: "native arm64" | ||
CIBW_ARCHS_WINDOWS: "native ARM64" | ||
CIBW_SKIP: "*-musllinux*" | ||
CIBW_BUILD: ${{ matrix.wheel-version }} | ||
CIBW_BUILD_VERBOSITY: 1 | ||
CIBW_BEFORE_BUILD: pip install cython pybind11 | ||
CIBW_CONFIG_SETTINGS: '--global-option="--with-cython --with-distributable-extensions"' | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: native_wheels | ||
path: dist/*.whl | ||
|
||
alternative_wheels: | ||
name: Build wheels (${{ matrix.wheel-version }}) on ${{ matrix.os }} for aarch64 | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-22.04] | ||
arch: [all] | ||
wheel-version: ['cp38*', 'cp39*', 'cp310*', 'cp311*', 'cp312*'] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up QEMU | ||
if: runner.os == 'Linux' | ||
uses: docker/setup-qemu-action@v3 | ||
with: | ||
platforms: all | ||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
with: | ||
output-dir: dist | ||
env: | ||
CIBW_ARCHS_LINUX: "aarch64" | ||
CIBW_SKIP: "*-musllinux*" | ||
CIBW_BUILD: ${{ matrix.wheel-version }} | ||
CIBW_BUILD_VERBOSITY: 1 | ||
CIBW_BEFORE_BUILD: pip install cython pybind11 | ||
CIBW_CONFIG_SETTINGS: '--global-option="--with-cython --with-distributable-extensions"' | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: alt_wheels | ||
path: dist/*.whl | ||
|
||
generictarball: | ||
name: ${{ matrix.TARGET }} | ||
|
@@ -74,9 +89,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 | ||
|
@@ -92,67 +107,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 |
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
Oops, something went wrong.