Skip to content

Build Wheels

Build Wheels #199

Workflow file for this run

name: Build Wheels
on: [workflow_dispatch, workflow_call]
jobs:
build_wheels:
name: Build wheel on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-24.04, ubuntu-24.04-arm, macos-15-intel, macos-15,
windows-2022]
msystem: [ucrt64]
menv: [ucrt-x86_64]
include:
- os: windows-11-arm
msystem: clangarm64
menv: clang-aarch64
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- uses: msys2/setup-msys2@v2.29.0
name: Setup msys2
with:
install: >-
mingw-w64-${{ matrix.menv }}-binutils
mingw-w64-${{ matrix.menv }}-gcc
mingw-w64-${{ matrix.menv }}-tools
diffutils
m4
make
patch
autotools
msystem: ${{ matrix.msystem }}
if: ${{ startsWith(matrix.os, 'windows') }}
# Install pkgconfig on Windows from choco rather than from msys and
# avoid using the Strawberry one.
- run: choco install -y --stoponfirstfailure --checksum 6004DF17818F5A6DBF19CB335CC92702 pkgconfiglite
if: ${{ startsWith( matrix.os , 'windows' ) }}
# We have to set this here rather than in the cibuildwheel config
# This is probably something to do with \ vs / in paths...
- run: echo "PKG_CONFIG_PATH=${{ github.workspace }}/.local/lib/pkgconfig" >> $env:GITHUB_ENV
if: ${{ startsWith(matrix.os, 'windows') }}
- name: Build wheels
uses: pypa/cibuildwheel@v3.3.0
- uses: actions/upload-artifact@v5
with:
name: wheels-${{ matrix.os }}
path: ./wheelhouse/
merge:
runs-on: ubuntu-24.04
needs: build_wheels
steps:
- name: Merge Wheels
uses: actions/upload-artifact/merge@v5
with:
name: python-gmp-wheels
pattern: wheels-*
delete-merged: true