From 9c84da902e821fc70d17e62b18d3fe0ec8403041 Mon Sep 17 00:00:00 2001 From: clintonsteiner Date: Mon, 23 Feb 2026 22:44:52 -0600 Subject: [PATCH 1/5] gh-145098: Run Apple Silicon macOS CI on macos-26 (Tahoe) --- .github/workflows/build.yml | 12 ++++++------ .github/workflows/jit.yml | 2 +- .github/workflows/tail-call.yml | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d777f35ac208fd..7aa54eadefa2d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -200,10 +200,10 @@ jobs: strategy: fail-fast: false matrix: - # macos-14 is M1, macos-15-intel is Intel. + # macos-26 is Apple Silicon, macos-15-intel is Intel. # macos-15-intel only runs tests against the GIL-enabled CPython. os: - - macos-14 + - macos-26 - macos-15-intel free-threading: - false @@ -387,7 +387,7 @@ jobs: matrix: include: - arch: aarch64 - runs-on: macos-14 + runs-on: macos-26 - arch: x86_64 runs-on: ubuntu-24.04 @@ -404,7 +404,7 @@ jobs: needs: build-context if: needs.build-context.outputs.run-ios == 'true' timeout-minutes: 60 - runs-on: macos-14 + runs-on: macos-26 steps: - uses: actions/checkout@v6 with: @@ -417,10 +417,10 @@ jobs: # https://github.com/actions/runner-images/issues/12751. - name: Select Xcode version run: | - sudo xcode-select --switch /Applications/Xcode_15.4.app + sudo xcode-select --switch /Applications/Xcode_26.2.app - name: Build and test - run: python3 Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5' + run: python3 Apple ci iOS --fast-ci --simulator 'iPhone 16e,OS=26.2' build-wasi: name: 'WASI' diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index da9c75ec75391a..612490256e21c0 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -101,7 +101,7 @@ jobs: - target: x86_64-apple-darwin/clang runner: macos-15-intel - target: aarch64-apple-darwin/clang - runner: macos-14 + runner: macos-26 steps: - uses: actions/checkout@v6 with: diff --git a/.github/workflows/tail-call.yml b/.github/workflows/tail-call.yml index 32c6aa75e479f8..63ec5497b2c994 100644 --- a/.github/workflows/tail-call.yml +++ b/.github/workflows/tail-call.yml @@ -69,7 +69,7 @@ jobs: - target: x86_64-apple-darwin/clang runner: macos-15-intel - target: aarch64-apple-darwin/clang - runner: macos-14 + runner: macos-26 steps: - uses: actions/checkout@v6 with: From 309388b277eef343d22974eb8387dd8952fcc86f Mon Sep 17 00:00:00 2001 From: clintonsteiner Date: Wed, 4 Mar 2026 20:16:25 -0600 Subject: [PATCH 2/5] gha: change macos-15-intel to macos-26-intel --- .github/actionlint.yaml | 3 ++- .github/workflows/build.yml | 8 ++++---- .github/workflows/jit.yml | 2 +- .github/workflows/reusable-macos.yml | 6 +++--- .github/workflows/tail-call.yml | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml index 675712d65d4c95..257fe8962dc03d 100644 --- a/.github/actionlint.yaml +++ b/.github/actionlint.yaml @@ -1,6 +1,7 @@ self-hosted-runner: # Pending https://github.com/rhysd/actionlint/pull/615 - labels: ["windows-2025-vs2026"] + # https://github.com/rhysd/actionlint/pull/629 + labels: ["windows-2025-vs2026", "macos-26-intel"] config-variables: null diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7aa54eadefa2d5..196aab04010f1b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -200,16 +200,16 @@ jobs: strategy: fail-fast: false matrix: - # macos-26 is Apple Silicon, macos-15-intel is Intel. - # macos-15-intel only runs tests against the GIL-enabled CPython. + # macos-26 is Apple Silicon, macos-26-intel is Intel. + # macos-26-intel only runs tests against the GIL-enabled CPython. os: - macos-26 - - macos-15-intel + - macos-26-intel free-threading: - false - true exclude: - - os: macos-15-intel + - os: macos-26-intel free-threading: true uses: ./.github/workflows/reusable-macos.yml with: diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index 612490256e21c0..1a3fcb3637e2ae 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -99,7 +99,7 @@ jobs: - false include: - target: x86_64-apple-darwin/clang - runner: macos-15-intel + runner: macos-26-intel - target: aarch64-apple-darwin/clang runner: macos-26 steps: diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index 6afbf6595d93e3..a96aab1be1df49 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -52,15 +52,15 @@ jobs: --prefix=/opt/python-dev \ --with-openssl="$(brew --prefix openssl@3.5)" - name: Build CPython - if : ${{ inputs.free-threading || inputs.os != 'macos-15-intel' }} + if : ${{ inputs.free-threading || inputs.os != 'macos-26-intel' }} run: gmake -j8 - name: Build CPython for compiler warning check - if : ${{ !inputs.free-threading && inputs.os == 'macos-15-intel' }} + if : ${{ !inputs.free-threading && inputs.os == 'macos-26-intel' }} run: set -o pipefail; gmake -j8 --output-sync 2>&1 | tee compiler_output_macos.txt - name: Display build info run: make pythoninfo - name: Check compiler warnings - if : ${{ !inputs.free-threading && inputs.os == 'macos-15-intel' }} + if : ${{ !inputs.free-threading && inputs.os == 'macos-26-intel' }} run: >- python3 Tools/build/check_warnings.py --compiler-output-file-path=compiler_output_macos.txt diff --git a/.github/workflows/tail-call.yml b/.github/workflows/tail-call.yml index 63ec5497b2c994..88833ea3bb2022 100644 --- a/.github/workflows/tail-call.yml +++ b/.github/workflows/tail-call.yml @@ -67,7 +67,7 @@ jobs: matrix: include: - target: x86_64-apple-darwin/clang - runner: macos-15-intel + runner: macos-26-intel - target: aarch64-apple-darwin/clang runner: macos-26 steps: From 7817b44937904f565e066c162a8c6ecdab7d0e0f Mon Sep 17 00:00:00 2001 From: clintonsteiner Date: Mon, 9 Mar 2026 22:36:43 -0500 Subject: [PATCH 3/5] undo changes to ios build, macos 26 build isn't stable yet --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1d449eb5a2202e..0c7309c3d45d6e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -353,7 +353,7 @@ jobs: needs: build-context if: needs.build-context.outputs.run-ios == 'true' timeout-minutes: 60 - runs-on: macos-26 + runs-on: macos-14 steps: - uses: actions/checkout@v6 with: @@ -366,10 +366,10 @@ jobs: # https://github.com/actions/runner-images/issues/12751. - name: Select Xcode version run: | - sudo xcode-select --switch /Applications/Xcode_26.2.app + sudo xcode-select --switch /Applications/Xcode_15.4.app - name: Build and test - run: python3 Apple ci iOS --fast-ci --simulator 'iPhone 16e,OS=26.2' + run: python3 Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5' build-wasi: name: 'WASI' From 666b0b584989207ca041eed8bbafeec67494f19a Mon Sep 17 00:00:00 2001 From: clintonsteiner Date: Mon, 9 Mar 2026 22:41:27 -0500 Subject: [PATCH 4/5] Revert "undo changes to ios build, macos 26 build isn't stable yet" This reverts commit 7817b44937904f565e066c162a8c6ecdab7d0e0f. --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0c7309c3d45d6e..1d449eb5a2202e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -353,7 +353,7 @@ jobs: needs: build-context if: needs.build-context.outputs.run-ios == 'true' timeout-minutes: 60 - runs-on: macos-14 + runs-on: macos-26 steps: - uses: actions/checkout@v6 with: @@ -366,10 +366,10 @@ jobs: # https://github.com/actions/runner-images/issues/12751. - name: Select Xcode version run: | - sudo xcode-select --switch /Applications/Xcode_15.4.app + sudo xcode-select --switch /Applications/Xcode_26.2.app - name: Build and test - run: python3 Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5' + run: python3 Apple ci iOS --fast-ci --simulator 'iPhone 16e,OS=26.2' build-wasi: name: 'WASI' From e05320e9202f9e9b8efc500d47d4038806477899 Mon Sep 17 00:00:00 2001 From: clintonsteiner Date: Mon, 9 Mar 2026 22:57:35 -0500 Subject: [PATCH 5/5] actionlint: add in macos-26 exclusion, pending new release --- .github/actionlint.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/actionlint.yaml b/.github/actionlint.yaml index eacfff24889021..3004466b80e91c 100644 --- a/.github/actionlint.yaml +++ b/.github/actionlint.yaml @@ -1,3 +1,8 @@ +self-hosted-runner: + # Pending release of actionlint > 1.7.11 for macos-26-intel support + # https://github.com/rhysd/actionlint/pull/629 + labels: ["macos-26-intel"] + config-variables: null paths: