Skip to content

Build UETOOLS wheels files and upload artifacts #1

Build UETOOLS wheels files and upload artifacts

Build UETOOLS wheels files and upload artifacts #1

Workflow file for this run

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