Skip to content

Commit 4c71afa

Browse files
committed
Enhance cross-architecture build support by enabling QEMU for aarch64 and updating manylinux images for toolchain consistency. Improve Homebrew dependency installation by cleaning stale downloads and avoiding metadata updates.
1 parent 4c8355b commit 4c71afa

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

.github/workflows/release.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,22 @@ jobs:
4242
with:
4343
fetch-depth: 0
4444

45+
# Enable QEMU so aarch64 manylinux containers can run on x86_64 runners
46+
- name: Enable QEMU for cross-arch builds
47+
uses: docker/setup-qemu-action@v3
48+
with:
49+
platforms: arm64
50+
4551
- name: Build wheels with cibuildwheel
4652
uses: pypa/cibuildwheel@v2.21.3
4753
env:
4854
# CPython versions to build (match CI tests)
4955
CIBW_BUILD: cp310-* cp311-* cp312-*
5056
CIBW_SKIP: pp* *-musllinux_*
5157
CIBW_ARCHS_LINUX: x86_64 aarch64
58+
# Use newer manylinux images for toolchain consistency
59+
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
60+
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28
5261
# Build FFTW from source and stage Boost headers for CMake
5362
CIBW_BEFORE_ALL_LINUX: |
5463
set -eux
@@ -123,8 +132,12 @@ jobs:
123132
fetch-depth: 0
124133

125134
- name: Install Homebrew deps
135+
env:
136+
HOMEBREW_NO_AUTO_UPDATE: "1"
126137
run: |
127-
brew update
138+
# Clean any stale/partial downloads that can trip SHA checks
139+
rm -f "$HOME/Library/Caches/Homebrew/downloads/"*libomp* || true
140+
# Install without updating metadata to avoid transient API issues
128141
brew install fftw libomp boost cmake ninja || true
129142
130143
- name: Build wheels with cibuildwheel

0 commit comments

Comments
 (0)