From 0a13cc712802b44a3a129455709e1a2e4effada7 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Tue, 27 Oct 2026 21:26:42 +0200 Subject: [PATCH 1/2] Re-use the main macOS workflow for tail-calling --- .github/workflows/reusable-macos.yml | 5 +++++ .github/workflows/tail-call.yml | 26 ++++---------------------- 2 files changed, 9 insertions(+), 22 deletions(-) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index 2e6e4d6e4c6924..06cfe5d53ccc49 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -11,6 +11,10 @@ on: description: OS to run the job required: true type: string + tail-call-interp: + required: false + type: boolean + default: false permissions: contents: read @@ -51,6 +55,7 @@ jobs: --enable-slower-safety \ --enable-safety \ ${{ inputs.free-threading && '--disable-gil' || '' }} \ + ${{ inputs.tail-call-interp && '--with-tail-call-interp' || '' }} \ --prefix=/opt/python-dev \ --with-openssl="$(brew --prefix openssl@3.5)" - name: Build CPython diff --git a/.github/workflows/tail-call.yml b/.github/workflows/tail-call.yml index b828194fffaca8..d4df6aa3b95780 100644 --- a/.github/workflows/tail-call.yml +++ b/.github/workflows/tail-call.yml @@ -25,28 +25,10 @@ env: jobs: macos: name: aarch64-apple-darwin/clang - runs-on: macos-26 - timeout-minutes: 60 - steps: - - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - with: - persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 - with: - python-version: '3.11' - - name: Install dependencies - run: | - brew update - brew install llvm@${{ env.LLVM_VERSION }} - - name: Build - run: | - export SDKROOT="$(xcrun --show-sdk-path)" - export PATH="/opt/homebrew/opt/llvm@${{ env.LLVM_VERSION }}/bin:$PATH" - CC=clang-${{ env.LLVM_VERSION }} ./configure --with-tail-call-interp - make all --jobs 4 - - name: Test - run: | - ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + uses: ./.github/workflows/reusable-macos.yml + with: + os: macos-26 + tail-call-interp: true linux: name: ${{ matrix.target }} From 9e25d323bb192d890f3e98ede4b88d80347eb3d9 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Tue, 27 Oct 2026 21:35:33 +0200 Subject: [PATCH 2/2] Only test tail-calling on macOS, as part of regular CI --- .github/workflows/reusable-macos.yml | 6 +----- .github/workflows/tail-call.yml | 7 ------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/.github/workflows/reusable-macos.yml b/.github/workflows/reusable-macos.yml index 06cfe5d53ccc49..2883a20b612f85 100644 --- a/.github/workflows/reusable-macos.yml +++ b/.github/workflows/reusable-macos.yml @@ -11,10 +11,6 @@ on: description: OS to run the job required: true type: string - tail-call-interp: - required: false - type: boolean - default: false permissions: contents: read @@ -55,7 +51,7 @@ jobs: --enable-slower-safety \ --enable-safety \ ${{ inputs.free-threading && '--disable-gil' || '' }} \ - ${{ inputs.tail-call-interp && '--with-tail-call-interp' || '' }} \ + --with-tail-call-interp \ --prefix=/opt/python-dev \ --with-openssl="$(brew --prefix openssl@3.5)" - name: Build CPython diff --git a/.github/workflows/tail-call.yml b/.github/workflows/tail-call.yml index d4df6aa3b95780..1dc5ea1bc51356 100644 --- a/.github/workflows/tail-call.yml +++ b/.github/workflows/tail-call.yml @@ -23,13 +23,6 @@ env: LLVM_VERSION: 21 jobs: - macos: - name: aarch64-apple-darwin/clang - uses: ./.github/workflows/reusable-macos.yml - with: - os: macos-26 - tail-call-interp: true - linux: name: ${{ matrix.target }} runs-on: ${{ matrix.runner }}