Skip to content

Commit

Permalink
Update build_wheels.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
borisbolliet authored Sep 28, 2024
1 parent cdd2d24 commit fa28da2
Showing 1 changed file with 73 additions and 0 deletions.
73 changes: 73 additions & 0 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
@@ -1 +1,74 @@
name: Build wheels

on:
push:
branches:
- main
pull_request:
workflow_dispatch:
release:
types: [published]

permissions: # Ensure the workflow has permission to push changes
contents: write # Allow write access for pushing to the repository

jobs:
build_wheels:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]

steps:
- name: Checkout the code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Clean up previous builds (if any)
run: |
rm -rf build dist *.egg-info class-sz/python/classy_sz.*so class-sz/python/classy_sz.*egg-info
- name: Make clean (for class-sz)
run: |
chmod +x select_makefile.sh
./select_makefile.sh
make clean
working-directory: class-sz

- name: Install cibuildwheel
run: python -m pip install cibuildwheel==2.14.1

# Build wheels for Linux (with custom build options)
- name: Build wheels for Linux
if: matrix.os == 'ubuntu-latest'
env:
CIBW_BEFORE_BUILD: "yum install -y gsl-devel fftw-devel"
CIBW_ARCHS: aarch64
CIBW_BUILD: cp39-manylinux_aarch64
run: python -m cibuildwheel --output-dir wheelhouse

# Build wheels for macOS (with Apple Silicon support)
- name: Build wheels for macOS
if: matrix.os == 'macos-latest'
env:
CIBW_ARCHS: "x86_64 arm64"
CIBW_BUILD: cp39-macosx_11_0_arm64
run: python -m cibuildwheel --output-dir wheelhouse

# Build wheels for Windows (default)
- name: Build wheels for Windows
if: matrix.os == 'windows-latest'
run: python -m cibuildwheel --output-dir wheelhouse

- name: Build source distribution (sdist)
run: python setup.py sdist bdist_wheel

- uses: actions/upload-artifact@v4
with:
name: wheels-${{ matrix.os }}-${{ matrix.python-version }}
path: wheelhouse/*.whl

0 comments on commit fa28da2

Please sign in to comment.