-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #70 from jcapriot/wheel_building
Wheel building
- Loading branch information
Showing
7 changed files
with
282 additions
and
114 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 |
---|---|---|
@@ -0,0 +1,223 @@ | ||
name: Release | ||
on: | ||
push: | ||
# Sequence of patterns matched against refs/tags | ||
tags: | ||
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 | ||
|
||
jobs: | ||
build_manylinux_x86_64_wheels: | ||
name: Build manylinux_x86_64 | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_BUILD: "*manylinux_x86_64" | ||
CIBW_ARCHS_LINUX: x86_64 | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./wheelhouse/*.whl | ||
- name: Upload wheels to pypi | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} | ||
skip_existing: true | ||
packages-dir: ./wheelhouse/ | ||
|
||
build_manylinux_aarch64_wheels: | ||
name: Build manylinux_aarch64 | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v3 | ||
with: | ||
platforms: all | ||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_ARCHS_LINUX: aarch64 | ||
CIBW_BUILD: "*manylinux_aarch64" | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./wheelhouse/*.whl | ||
- name: Upload wheels to pypi | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} | ||
skip_existing: true | ||
packages-dir: ./wheelhouse/ | ||
|
||
build_musllinux_x86_64_wheels: | ||
name: Build musllinux_x86_64 wheels | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_BUILD: "*musllinux_x86_64" | ||
CIBW_ARCHS_LINUX: x86_64 | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./wheelhouse/*.whl | ||
- name: Upload wheels to pypi | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} | ||
skip_existing: true | ||
packages-dir: ./wheelhouse/ | ||
|
||
build_mac_wheels: | ||
name: Build macos wheels | ||
runs-on: macos-11 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_ARCHS_MACOS: x86_64 arm64 | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./wheelhouse/*.whl | ||
- name: Upload wheels to pypi | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} | ||
skip_existing: true | ||
packages-dir: ./wheelhouse/ | ||
|
||
build_windows_wheels: | ||
name: Build Windows wheels | ||
runs-on: windows-2019 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Build wheels | ||
uses: pypa/[email protected] | ||
env: | ||
CIBW_ARCHS_WINDOWS: AMD64 | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./wheelhouse/*.whl | ||
- name: Upload wheels to pypi | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} | ||
skip_existing: true | ||
packages-dir: ./wheelhouse/ | ||
|
||
# Don't upload this one to pypi, otherwise it will be preferred over every compiled one | ||
# We can host it here on github though for those that need it (re: jupyter-light). | ||
pure_python: | ||
name: Create pure-python wheel | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: 3.11 | ||
- name: Build pure python wheel and install | ||
run: | | ||
python -m pip install --user --upgrade build | ||
python -m build | ||
find ./dist/*.whl | xargs pip install | ||
python -c "import geoana; geoana.show_config()" | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./dist/geoana*.whl | ||
|
||
distribute: | ||
name: distribute source and documentation | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash -l {0} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Setup environment | ||
uses: mamba-org/setup-micromamba@v1 | ||
with: | ||
environment-name: geoana-test | ||
create-args: >- | ||
python=3.11 | ||
numpy>=1.20 | ||
scipy>=1.8 | ||
libdlf | ||
cython | ||
setuptools_scm | ||
meson-python>=0.14.0 | ||
meson | ||
ninja | ||
build | ||
discretize | ||
numba | ||
matplotlib | ||
jupyter | ||
utm | ||
pytest | ||
pytest-cov | ||
sphinx | ||
sphinx-gallery>=0.1.13 | ||
pydata-sphinx-theme=0.13.3 | ||
numpydoc>=1.5 | ||
graphviz | ||
pillow | ||
cache-environment: true | ||
- name: Prepare source distribution | ||
run: | | ||
python -m build --no-isolation --skip-dependency-check --sdist . | ||
- name: Publish package | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} | ||
skip_existing: true | ||
- name: Install Our Package | ||
run: | | ||
pip install --no-build-isolation --editable . --config-settings=setup-args="-Dwith_extensions=true" | ||
- name: Build documentation | ||
run: | | ||
cd docs | ||
make html | ||
cd .. | ||
- name: GitHub Pages | ||
uses: crazy-max/[email protected] | ||
with: | ||
build_dir: docs/_build/html | ||
fqdn: geoana.simpeg.xyz | ||
jekyll: false | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
|
||
release: | ||
name: Create Release | ||
needs: [ | ||
build_manylinux_x86_64_wheels, | ||
build_manylinux_aarch64_wheels, | ||
build_musllinux_x86_64_wheels, | ||
build_mac_wheels, | ||
build_windows_wheels, | ||
pure_python | ||
] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/download-artifact@v3 | ||
name: Retrieve assets | ||
with: | ||
name: artifact | ||
path: dist | ||
- name: Release to github | ||
uses: softprops/action-gh-release@v1 | ||
with: | ||
files: dist/* | ||
generate_release_notes: true | ||
prerelease: false |
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,11 +1,9 @@ | ||
name: TestingWithConda | ||
name: Testing With Conda | ||
|
||
on: | ||
push: | ||
branches: | ||
- '*' | ||
tags: | ||
- 'v*' | ||
pull_request: | ||
branches: | ||
- '*' | ||
|
@@ -70,91 +68,3 @@ jobs: | |
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
fail_ci_if_error: true | ||
distribute: | ||
name: Publish Source to Pypi | ||
needs: build_and_test | ||
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') | ||
runs-on: ubuntu-latest | ||
defaults: | ||
run: | ||
shell: bash -l {0} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- name: Setup environment | ||
uses: mamba-org/setup-micromamba@v1 | ||
with: | ||
environment-name: geoana-test | ||
create-args: >- | ||
python=3.10 | ||
numpy>=1.20 | ||
scipy>=1.8 | ||
libdlf | ||
cython | ||
setuptools_scm | ||
meson-python>=0.14.0 | ||
meson | ||
ninja | ||
build | ||
discretize | ||
matplotlib | ||
jupyter | ||
utm | ||
numba | ||
pytest | ||
pytest-cov | ||
sphinx | ||
sphinx-gallery>=0.1.13 | ||
pydata-sphinx-theme=0.13.3 | ||
numpydoc>=1.5 | ||
graphviz | ||
pillow | ||
cache-environment: true | ||
- name: Prepare source distribution | ||
run: | | ||
python -m build --no-isolation --skip-dependency-check --sdist . --config-settings=setup-args="-Dwith_extensions=true" | ||
- name: Publish package | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: __token__ | ||
password: ${{ secrets.PYPI_API_TOKEN }} | ||
skip_existing: true | ||
- name: Install package | ||
run: | | ||
pip install --no-build-isolation --editable . --config-settings=setup-args="-Dwith_extensions=true" | ||
- name: Build documentation | ||
run: | | ||
cd docs | ||
make html | ||
cd .. | ||
- name: GitHub Pages | ||
# You may pin to the exact commit or the version. | ||
uses: crazy-max/[email protected] | ||
with: | ||
# Git domain (default github.com) | ||
# domain: # optional, default is github.com | ||
# GitHub repository where assets will be deployed (default $GITHUB_REPOSITORY) | ||
# repo: # optional | ||
# Git branch where assets will be deployed | ||
# target_branch: # optional, default is gh-pages | ||
# Create incremental commit instead of doing push force | ||
# keep_history: # optional, default is false | ||
# Allow an empty commit to be created | ||
# allow_empty_commit: # optional, default is true | ||
# Build directory to deploy | ||
build_dir: docs/_build/html | ||
# The committer name and email address | ||
# committer: # optional | ||
# The author name and email address | ||
# author: # optional | ||
# Commit message | ||
# commit_message: # optional | ||
# Write the given domain name to the CNAME file | ||
fqdn: geoana.simpeg.xyz | ||
# Allow Jekyll to build your site | ||
jekyll: false # optional, default is true | ||
# If enabled, nothing will be pushed | ||
# dry_run: true # optional, default is false | ||
# Enable verbose output | ||
# verbose: true # optional, default is false | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
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
Oops, something went wrong.