From bb0b3efb6b88befd01b47c14ea5f2366d096d163 Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Wed, 13 Aug 2025 19:31:52 +0100 Subject: [PATCH 1/3] ci: stop running on macos-13 --- .github/workflows/ci.yml | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2d86de775e..6d9080d3c4f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -143,17 +143,13 @@ jobs: matrix: rust: [stable] python-version: ["3.13"] - platform: [ + platform: + [ { - os: "macos-latest", # first available arm macos runner + os: "macos-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin", }, - { - os: "macos-13", # last available x86_64 macos runner - python-architecture: "x64", - rust-target: "x86_64-apple-darwin", - }, { os: "ubuntu-latest", python-architecture: "x64", @@ -295,7 +291,7 @@ jobs: python-version: "3.13" platform: { - os: "macos-13", + os: "macos-latest", python-architecture: "x64", rust-target: "x86_64-apple-darwin", } @@ -310,12 +306,12 @@ jobs: } # arm64 macOS Python not available on GitHub Actions until 3.10 - # so backfill 3.7-3.9 with x64 macOS runners + # so backfill 3.7-3.9 with x64 - rust: stable python-version: "3.7" platform: { - os: "macos-13", + os: "macos-latest", python-architecture: "x64", rust-target: "x86_64-apple-darwin", } @@ -323,7 +319,7 @@ jobs: python-version: "3.8" platform: { - os: "macos-13", + os: "macos-latest", python-architecture: "x64", rust-target: "x86_64-apple-darwin", } @@ -331,7 +327,7 @@ jobs: python-version: "3.9" platform: { - os: "macos-13", + os: "macos-latest", python-architecture: "x64", rust-target: "x86_64-apple-darwin", } @@ -597,12 +593,6 @@ jobs: - os: "ubuntu-latest" target: "x86_64-pc-windows-gnu" flags: "-i python3.13 --features generate-import-lib" - # macos x86_64 -> aarch64 - - os: "macos-13" # last x86_64 macos runners - target: "aarch64-apple-darwin" - # macos aarch64 -> x86_64 - - os: "macos-latest" - target: "x86_64-apple-darwin" # windows x86_64 -> aarch64 - os: "windows-latest" target: "aarch64-pc-windows-msvc" From 07b87bc395fd955bc4d7c9a1a2270c515267a24e Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Wed, 3 Sep 2025 19:52:13 +0100 Subject: [PATCH 2/3] try to install 3.9 from uv --- .github/workflows/build.yml | 11 ++++++++++- .github/workflows/ci.yml | 20 ++------------------ 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2dda8fb57be..97d621274a0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,7 +40,9 @@ jobs: # with the commit diff, because the merge may affect line numbers. ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} - - name: Set up Python ${{ inputs.python-version }} + # installs using setup-python do not work for arm macOS 3.9 and below + - if: ${{ !(inputs.os == 'macos-latest' && contains(fromJSON('["3.7", "3.8", "3.9"]'), inputs.python-version)) && inputs.python-architecture == 'x64' }} + name: Set up Python ${{ inputs.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ inputs.python-version }} @@ -48,6 +50,13 @@ jobs: # PyPy can have FFI changes within Python versions, which creates pain in CI check-latest: ${{ startsWith(inputs.python-version, 'pypy') }} + # workaround for the above, only available for 3.9 + - if: ${{ inputs.os == 'macos-latest' && contains(fromJSON('["3.9"]'), inputs.python-version) && inputs.python-architecture == 'x64' }} + name: Set up Python ${{ inputs.python-version }} + uses: astral-sh/setup-uv@v5 + with: + python-version: cpython-${{ inputs.python-version }}-macos-x86-64 + - name: Install nox run: python -m pip install --upgrade pip && pip install nox diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d9080d3c4f..ccfed759feb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -305,24 +305,8 @@ jobs: rust-target: "x86_64-unknown-linux-gnu", } - # arm64 macOS Python not available on GitHub Actions until 3.10 - # so backfill 3.7-3.9 with x64 - - rust: stable - python-version: "3.7" - platform: - { - os: "macos-latest", - python-architecture: "x64", - rust-target: "x86_64-apple-darwin", - } - - rust: stable - python-version: "3.8" - platform: - { - os: "macos-latest", - python-architecture: "x64", - rust-target: "x86_64-apple-darwin", - } + # arm64 macOS Python not available on GitHub Actions until 3.10, + # and 3.7 & 3.8 not available to install from uv, but can backfill 3.9 with x64 from uv - rust: stable python-version: "3.9" platform: From a64bbd999f4d5dd4ed249684bd3e874a09f8a898 Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Thu, 4 Sep 2025 16:35:07 +0100 Subject: [PATCH 3/3] disable 3.9 uv build for now, fix windows x86 --- .github/workflows/build.yml | 2 +- .github/workflows/ci.yml | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cf7cd85c79c..6a7d627f0f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,7 +44,7 @@ jobs: ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} # installs using setup-python do not work for arm macOS 3.9 and below - - if: ${{ !(inputs.os == 'macos-latest' && contains(fromJSON('["3.7", "3.8", "3.9"]'), inputs.python-version)) && inputs.python-architecture == 'x64' }} + - if: ${{ !(inputs.os == 'macos-latest' && contains(fromJSON('["3.7", "3.8", "3.9"]'), inputs.python-version) && inputs.python-architecture == 'x64') }} name: Set up Python ${{ inputs.python-version }} uses: actions/setup-python@v5 with: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 676919fcb8f..fe814d42665 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -328,14 +328,15 @@ jobs: # arm64 macOS Python not available on GitHub Actions until 3.10, # and 3.7 & 3.8 not available to install from uv, but can backfill 3.9 with x64 from uv - - rust: stable - python-version: "3.9" - platform: - { - os: "macos-latest", - python-architecture: "x64", - rust-target: "x86_64-apple-darwin", - } + # FIXME: setup-uv issue prevents this from working, https://github.com/astral-sh/setup-uv/issues/554 + # - rust: stable + # python-version: "3.9" + # platform: + # { + # os: "macos-latest", + # python-architecture: "x64", + # rust-target: "x86_64-apple-darwin", + # } # arm64 Linux runner is in public preview, so test 3.13 on it - rust: stable python-version: "3.13"