Skip to content

Commit

Permalink
Adds workflow to build wheels
Browse files Browse the repository at this point in the history
  • Loading branch information
holm10 committed Mar 12, 2024
1 parent f99f8d1 commit b743ebf
Showing 1 changed file with 130 additions and 0 deletions.
130 changes: 130 additions & 0 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
name: Build UETOOLS wheels files and upload artifacts


on: [push, pull_request]

jobs:
build_wheels:
name: Build wheels on ${{ matrix.os }} for Python ${{ matrix.pyver }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-13, macos-14]
pyver: [cp37, cp38, cp39, cp310, cp311, cp312]

steps:
- name: Checks out repo
uses: actions/checkout@v4

- name: Build wheels
if: ${{ !(matrix.os == 'macos-14' && matrix.pyver == 'cp37') }}
uses: pypa/[email protected]
env:
CIBW_BUILD: ${{matrix.pyver}}-*
CIBW_ARCHS_LINUX: auto
# CIBW_BEFORE_BUILD: pip install numpy

- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.os }}-${{ matrix.pyver }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl

build_wheels_pypy:
name: Build PyPy wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-13, macos-14]

steps:
- name: Checks out repo
uses: actions/checkout@v4


- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD: pp*
# CIBW_BEFORE_BUILD: pip install numpy

- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: cibw-wheels-pyp-${{ matrix.os }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl


build_wheels_cross:
name: Build Linux cross-wheels
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
pyver: [cp37, cp38, cp39, cp310, cp311, cp312]
arch: [aarch64, ppc64le]

steps:
- name: Checks out repo
uses: actions/checkout@v4

- name: Set up QEMU for multi-arch build
uses: docker/setup-qemu-action@v2

- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD: ${{matrix.pyver}}-*
CIBW_ARCHS: ${{matrix.arch}}
# CIBW_BEFORE_BUILD: pip install numpy

- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: cibw-cross-wheels-${{ matrix.arch }}-${{ matrix.pyver }}-${{ strategy.job-index }}
path: ./wheelhouse/*.whl

build_wheels_cross_pypy:
name: Build Linux PyPy cross-wheels
runs-on: ubuntu-latest
strategy:
fail-fast: false

steps:
- name: Checks out repo
uses: actions/checkout@v4

- name: Set up QEMU for multi-arch build
uses: docker/setup-qemu-action@v2

- name: Build wheels
uses: pypa/[email protected]
env:
CIBW_BUILD: pp*
# CIBW_BEFORE_BUILD: pip install numpy

- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: cibw-cross-wheels-pypy-${{ strategy.job-index }}
path: ./wheelhouse/*.whl


gather_wheels:
needs: [build_wheels, build_wheels_pypy, build_wheels_cross, build_wheels_cross_pypy]
name: Gather built wheels
runs-on: ubuntu-latest
steps:
- name: Download all Artifacts and merges them
uses: actions/download-artifact@v4
with:
path: wheels
merge-multiple: true

- name: Upload all Artifacts in a single Archive
uses: actions/upload-artifact@v4
with:
name: all_wheels
path: wheels

0 comments on commit b743ebf

Please sign in to comment.