Skip to content

Revert "ci: Always build wheels and don't upload while testing wheel … #117

Revert "ci: Always build wheels and don't upload while testing wheel …

Revert "ci: Always build wheels and don't upload while testing wheel … #117

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*'
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