Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
45 changes: 39 additions & 6 deletions .github/workflows/build-binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,26 @@ jobs:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: "Install fresh upstream rustup"
# The macos-15-arm64 runner image (20260511.0048+) ships a broken
# Homebrew rustup whose bundled rustup-init rejects standard argv
# forwarded from the rustup proxy, breaking `rustup component add`
# and other commands maturin-action invokes. Upstream:
# https://github.com/actions/runner-images/issues/14097
# Scrub Homebrew's rustup AND any stale upstream rustup, then
# reinstall cleanly with 1.88 as the default so setup-rust-toolchain
# has nothing left to do but verify.
run: |
brew uninstall --ignore-dependencies rustup || true
rm -f "$HOME/.cargo/bin/rustup" "$HOME/.cargo/bin/rustup-init"
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL https://sh.rustup.rs | sh -s -- --default-toolchain 1.88 --profile minimal -y
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- uses: actions-rust-lang/setup-rust-toolchain@v1.11.0
with:
# Don't restore ~/.cargo/bin from cache — it'd clobber the
# freshly-installed upstream rustup with a stale (and possibly
# Homebrew-linked) binary from a previous run.
cache-bin: false
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
Expand Down Expand Up @@ -102,7 +121,26 @@ jobs:
- uses: actions/checkout@v6
with:
submodules: recursive
- name: "Install fresh upstream rustup"
# The macos-15-arm64 runner image (20260511.0048+) ships a broken
# Homebrew rustup whose bundled rustup-init rejects standard argv
# forwarded from the rustup proxy, breaking `rustup component add`
# and other commands maturin-action invokes. Upstream:
# https://github.com/actions/runner-images/issues/14097
# Scrub Homebrew's rustup AND any stale upstream rustup, then
# reinstall cleanly with 1.88 as the default so setup-rust-toolchain
# has nothing left to do but verify.
run: |
brew uninstall --ignore-dependencies rustup || true
rm -f "$HOME/.cargo/bin/rustup" "$HOME/.cargo/bin/rustup-init"
curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL https://sh.rustup.rs | sh -s -- --default-toolchain 1.88 --profile minimal -y
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- uses: actions-rust-lang/setup-rust-toolchain@v1.11.0
with:
# Don't restore ~/.cargo/bin from cache — it'd clobber the
# freshly-installed upstream rustup with a stale (and possibly
# Homebrew-linked) binary from a previous run.
cache-bin: false
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
Expand Down Expand Up @@ -268,16 +306,11 @@ jobs:
uses: PyO3/maturin-action@v1.50.1
with:
target: ${{ matrix.platform.target }}
manylinux: auto
manylinux: 2_28
docker-options: ${{ matrix.platform.maturin_docker_options }}
args: --release --locked --out dist -i python3.10 python3.11 python3.12 python3.13 python3.14
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
# Set the CFLAGS for the aarch64 target, defining the ARM architecture
# for the ring crate's build script. This is a workaround for the
# issue where the ring crate's build script is not able to detect the
# ARM architecture.
CFLAGS_aarch64_unknown_linux_gnu: "-march=armv8-a -D__ARM_ARCH=8"
- uses: uraimo/run-on-arch-action@v2
if: ${{ matrix.platform.arch != 'ppc64' && matrix.platform.arch != 'ppc64le'}}
name: Test wheel
Expand Down
Loading
Loading