Merge pull request #2994 from Robbybp/cyipopt-evalerror #48
Workflow file for this run
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: Pyomo Release Distribution Creation | |
on: | |
push: | |
tags: | |
- '*' | |
workflow_dispatch: | |
inputs: | |
git-ref: | |
description: Git Hash (Optional) | |
required: false | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
env: | |
PYOMO_SETUP_ARGS: --with-distributable-extensions | |
jobs: | |
manylinux: | |
name: ${{ matrix.TARGET }}/${{ matrix.wheel-version }}_wheel_creation | |
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] | |
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 | |
generictarball: | |
name: ${{ matrix.TARGET }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
include: | |
- os: ubuntu-latest | |
TARGET: generic_tarball | |
python-version: [3.8] | |
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 | |
- name: Build generic tarball | |
run: | | |
python setup.py --without-cython sdist --format=gztar | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
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 |