-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Workflow proposal for MacOS extension
- Loading branch information
1 parent
de60225
commit 8757481
Showing
1 changed file
with
60 additions
and
107 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,129 +1,82 @@ | ||
name: "Build wheels and deploy" | ||
name: Wheels | ||
|
||
on: | ||
push: | ||
tags: | ||
- "*" | ||
|
||
jobs: | ||
build: | ||
name: Build with Pip | ||
runs-on: ${{ matrix.platform }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# platform: [ubuntu-latest, macos-latest] | ||
platform: [ubuntu-latest] | ||
python-version: [3.9] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install GNU Fortran | ||
uses: modflowpy/install-gfortran-action@v1 | ||
- name: Install GSL | ||
run: sudo apt-get -y install libgsl-dev | ||
- name: Build and install | ||
run: pip install . | ||
- name: Install pytest | ||
run: | | ||
pip install pytest | ||
pip install numpy | ||
- name: Test | ||
run: pytest tests | ||
|
||
build_sdist: | ||
name: Build sdist | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
- name: Build SDist | ||
run: pipx run build --sdist | ||
- name: Check metadata | ||
run: pipx run twine check dist/* | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: dist/*.tar.gz | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
- name: Build SDist | ||
run: pipx run build --sdist | ||
- name: Check metadata | ||
run: pipx run twine check dist/* | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: dist/*.tar.gz | ||
|
||
build_wheels_ubuntu: | ||
build_wheels: | ||
name: Wheels on Ubuntu | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
- uses: pypa/[email protected] | ||
env: | ||
CIBW_ARCHS_MACOS: auto universal2 | ||
CIBW_SKIP: pp* cp36-* *-musllinux_x86_64 *_i686 | ||
CIBW_BEFORE_BUILD: > | ||
yum -y install wget && | ||
yum -y install tar && | ||
wget https://mirror.ibcp.fr/pub/gnu/gsl/gsl-2.7.1.tar.gz && | ||
tar -zxvf gsl-2.7.1.tar.gz && | ||
cd gsl-2.7.1 && | ||
./configure && | ||
make && | ||
make install && | ||
cd .. | ||
- name: Verify clean directory | ||
run: git diff --exit-code | ||
shell: bash | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: wheelhouse/*.whl | ||
matrix: | ||
os: [ubuntu-latest, macos-latest] | ||
|
||
# build_wheels_mac: | ||
# name: Wheels on Mac | ||
# runs-on: macos-latest | ||
# strategy: | ||
# fail-fast: false | ||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# with: | ||
# submodules: true | ||
# - uses: pypa/[email protected] | ||
# env: | ||
# # CIBW_ARCHS_MACOS: auto universal2 | ||
# CIBW_ARCHS_MACOS: x86_64 arm64 | ||
# CIBW_SKIP: pp* cp36-* *-musllinux_x86_64 *_i686 | ||
# CIBW_BEFORE_BUILD: > | ||
# brew reinstall gcc && | ||
# wget https://mirror.ibcp.fr/pub/gnu/gsl/gsl-2.7.1.tar.gz && | ||
# tar -zxvf gsl-2.7.1.tar.gz && | ||
# cd gsl-2.7.1 && | ||
# ./configure && | ||
# make && | ||
# make install && | ||
# cd .. | ||
# - name: Verify clean directory | ||
# run: git diff --exit-code | ||
# shell: bash | ||
# - uses: actions/upload-artifact@v3 | ||
# with: | ||
# path: wheelhouse/*.whl | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
- uses: pypa/[email protected] | ||
env: | ||
CIBW_ARCHS_MACOS: auto universal2 | ||
CIBW_SKIP: pp* cp36-* *-musllinux_x86_64 *_i686 | ||
CIBW_BEFORE_BUILD_LINUX: > | ||
yum -y install wget && | ||
yum -y install tar && | ||
wget https://mirror.ibcp.fr/pub/gnu/gsl/gsl-2.7.1.tar.gz && | ||
tar -zxvf gsl-2.7.1.tar.gz && | ||
cd gsl-2.7.1 && | ||
./configure && | ||
make && | ||
make install && | ||
cd .. | ||
CIBW_BEFORE_BUILD_MACOS: > | ||
brew reinstall gcc && | ||
wget https://mirror.ibcp.fr/pub/gnu/gsl/gsl-2.7.1.tar.gz && | ||
tar -zxvf gsl-2.7.1.tar.gz && | ||
cd gsl-2.7.1 && | ||
./configure && | ||
make && | ||
make install && | ||
cd .. | ||
- name: Verify clean directory | ||
run: git diff --exit-code | ||
shell: bash | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: wheelhouse/*.whl | ||
|
||
upload_all: | ||
name: Upload | ||
# needs: [build_wheels_ubuntu, build_wheels_mac, build_sdist] | ||
needs: [build_wheels_ubuntu, build_sdist] | ||
needs: [build_wheels, build_sdist] | ||
runs-on: ubuntu-latest | ||
# if: github.event_name == 'release' && github.event.action == 'published' | ||
|
||
steps: | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: "3.x" | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
name: artifact | ||
path: dist | ||
- uses: pypa/gh-action-pypi-publish@master | ||
with: | ||
password: ${{ secrets.PYPI_TOKEN }} | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: "3.x" | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
name: artifact | ||
path: dist | ||
- uses: pypa/gh-action-pypi-publish@master | ||
with: | ||
password: ${{ secrets.PYPI_TOKEN }} |