From b938ab3b372279db097ca6bd29779c704b7bd184 Mon Sep 17 00:00:00 2001 From: Vinit Kumar Date: Thu, 16 Jul 2026 00:45:13 +0530 Subject: [PATCH] ci: build macOS wheels for Python 3.10 --- .github/workflows/build-rust-wheels.yml | 7 +++++++ lat.md/architecture.md | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-rust-wheels.yml b/.github/workflows/build-rust-wheels.yml index cb5b12cf..1ed8892a 100644 --- a/.github/workflows/build-rust-wheels.yml +++ b/.github/workflows/build-rust-wheels.yml @@ -97,6 +97,13 @@ jobs: steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + # macos-latest no longer preinstalls 3.10, so make the oldest supported + # interpreter visible to maturin's --find-interpreter discovery. + - name: Add Python 3.10 to the build toolcache + uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 + with: + python-version: '3.10' + - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: ${{ env.PYTHON_VERSION }} diff --git a/lat.md/architecture.md b/lat.md/architecture.md index fb98ab60..802c111d 100644 --- a/lat.md/architecture.md +++ b/lat.md/architecture.md @@ -34,7 +34,7 @@ The Rust extension crate targets the Rust 2024 edition and pins `rust-version` t The Cargo feature layout separates normal Rust/PyO3 tests from extension-module builds. `cargo test` uses the default `python` feature without extension-module linking, while maturin enables the `extension-module` feature for wheel builds. -Release and CI workflows install the pinned Rust toolchain before building wheels or running Rust checks, so hosted runners do not silently use an older default compiler. +Release and CI workflows install the pinned Rust toolchain before building wheels or running Rust checks, so hosted runners do not silently use an older default compiler. The macOS release build also provisions Python 3.10 explicitly so maturin emits wheels for the oldest supported interpreter even when runner images omit it. ## Release packaging