Skip to content

Wheels for 1.0.1

Wheels for 1.0.1 #116

Workflow file for this run

name: Build
# Build, test, and upload wheels for every version tag. Note that PyPI will
# automatically label versions with modifiers like 1.0.0a1 or 1.0.0rc1 as pre-releases.
# For a real release, tag the version, check that this action succeeded, then make a
# GitHub release.
# on:
# push:
# tags:
# - 'v*'
on:
pull_request:
jobs:
build_wheels:
name: Build ${{ matrix.label }} wheels
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- label: "linux-target-x86_64"
os: ubuntu-latest
- label: "macos-target-x86_64"
os: macos-13
env:
CIBW_ARCHS_MACOS: "x86_64"
bottle-tag: "monterey"
- os: macos-14
label: "macos-target-arm64"
env:
CIBW_ARCHS_MACOS: "arm64"
bottle-tag: "arm64_monterey"
env:
# All the MacOS logic is adapted directly from finufft
CIBW_ENVIRONMENT_MACOS: >
CC=gcc-14
CXX=g++-14
MACOSX_DEPLOYMENT_TARGET=12
CIBW_ARCHS_MACOS: ${{ matrix.env.CIBW_ARCHS_MACOS }}
CIBW_CONFIG_SETTINGS: "cmake.verbose=true cmake.define.CMAKE_COMPILE_WARNING_AS_ERROR=ON"
CIBW_BUILD_VERBOSITY: 1
CIBW_BEFORE_ALL_MACOS: |
brew uninstall gcc
pkg=$(brew fetch --force --bottle-tag=${{ matrix.bottle-tag }} gcc | grep 'Downloaded to' | cut -d' ' -f3)
brew install $pkg
pkg=$(brew fetch --force --bottle-tag=${{ matrix.bottle-tag }} fftw | grep 'Downloaded to' | cut -d' ' -f3)
brew install $pkg
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build wheels
uses: pypa/[email protected]
- uses: actions/upload-artifact@v4
with:
name: cibw-wheels-${{ matrix.label }}
path: ./wheelhouse/*.whl
# - name: Setup tmate session
# if: ${{ failure() }}
# uses: mxschmitt/action-tmate@v3
# with:
# limit-access-to-actor: true
make_sdist:
name: Make SDist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build SDist
run: |
pip install -vU build
python -m build --sdist
- uses: actions/upload-artifact@v4
with:
name: cibw-sdist
path: dist/*.tar.gz
# upload_all:
# needs: [build_wheels, make_sdist]
# environment: pypi
# permissions:
# id-token: write
# runs-on: ubuntu-latest
# steps:
# - uses: actions/download-artifact@v4
# with:
# pattern: cibw-*
# path: dist
# merge-multiple: true
# - uses: pypa/gh-action-pypi-publish@release/v1