Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated Wheel Creation using Github Actions #1409

Merged
merged 33 commits into from
May 27, 2020
Merged
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
e82880b
Attempting manylinux wheel creations
mrmundt Apr 23, 2020
21b7a1f
Added a missed command
mrmundt Apr 23, 2020
096e459
Changing a few things
mrmundt Apr 23, 2020
2725523
Merged
mrmundt Apr 23, 2020
30543ab
Adding OSX; reducing Python matrix in manylinux - it only needs one
mrmundt Apr 23, 2020
8d76c45
Supposedly a typo
mrmundt Apr 23, 2020
9d33286
Apparently still a typo
mrmundt Apr 23, 2020
11994b6
Having lots of syntax problems right meow
mrmundt Apr 23, 2020
a6eb31e
Cython added to dependencies
mrmundt Apr 23, 2020
66ec5a4
Directory not found - trying again
mrmundt Apr 23, 2020
7e78ce0
Changing directory
mrmundt Apr 23, 2020
4949367
Activating Windows
mrmundt Apr 23, 2020
296f71e
Indentation issue
mrmundt Apr 23, 2020
4ba7309
Adding ignore-user-warning flags for Windows
mrmundt Apr 23, 2020
25b54df
Changing from conda to pip
mrmundt Apr 23, 2020
3e20ce0
Adding test-upload step and removing Python versions from Windows
mrmundt Apr 23, 2020
3c8da54
Using Github Secrets for TestPyPi upload
mrmundt Apr 23, 2020
6288cd1
Adding upload to Windows
mrmundt Apr 23, 2020
49ba8e7
Trying pypy - removing other Python versions to isolate
mrmundt Apr 24, 2020
ede5b3f
Trying the upload-artifact action
mrmundt Apr 24, 2020
517bc50
Trying a different way to upload artifacts
mrmundt Apr 24, 2020
d9cc6d0
Trying with manylinux as well
mrmundt Apr 24, 2020
f91e79a
Push-tag is the correct choice for our release process
mrmundt Apr 28, 2020
36f5bcf
Merge remote-tracking branch 'origin' into wheel_creation
mrmundt Apr 30, 2020
1b33376
Removing --no-deps flag
mrmundt May 26, 2020
8cf0b12
Testing the removal of unnecessary linux wheels
mrmundt May 26, 2020
46fe64a
Didn't like my local test
mrmundt May 26, 2020
aa15d4e
Trying local test one more time:
mrmundt May 26, 2020
4fe448f
Adding back no-deps just for testing purposes
mrmundt May 26, 2020
1365243
Trying different way to remove the unnecessary files
mrmundt May 26, 2020
2ec070f
Adding sudo
mrmundt May 26, 2020
3b35f30
Changing the ls statement
mrmundt May 26, 2020
c3c1f03
Removing local testing and adding note about --no-deps
mrmundt May 26, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 110 additions & 0 deletions .github/workflows/release_wheel_creation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: Pyomo Release Distribution Creation

on:
push:
tags:
- '*'

jobs:
manylinux:
name: ${{ matrix.TARGET }}/wheel_creation
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
include:
- os: ubuntu-latest
TARGET: manylinux
python-version: [3.7]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine wheel setuptools
- name: Build manylinux Python wheels
uses: RalfG/[email protected]_x86_64
with:
python-versions: 'cp27-cp27mu cp35-cp35m cp36-cp36m cp37-cp37m cp38-cp38'
build-requirements: 'cython'
package-path: ''
pip-wheel-args: ''
# When locally testing, --no-deps flag is necessary (PyUtilib dependency will trigger an error otherwise)
- name: Delete linux wheels
run: |
sudo rm -rf wheelhouse/*-linux_x86_64.whl
- name: Upload artifact
uses: actions/upload-artifact@v1
with:
name: manylinux-wheels
path: wheelhouse
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: [ 2.7, 3.5, 3.6, 3.7, 3.8 ]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install twine wheel setuptools cython
- name: Build OSX Python wheels
run: |
python setup.py --with-cython sdist --format=gztar bdist_wheel

- name: Upload artifact
uses: actions/upload-artifact@v1
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.6, 3.7, 3.8 ]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
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"
- name: Build Windows Python wheels
shell: pwsh
run: |
$env:PYTHONWARNINGS="ignore::UserWarning"
Invoke-Expression "python setup.py --with-cython sdist --format=gztar bdist_wheel"
- name: Upload artifact
uses: actions/upload-artifact@v1
with:
name: win-wheels
path: dist