11name : Tail calling interpreter
22on :
33 pull_request :
4- paths :
4+ paths : &paths
55 - ' .github/workflows/tail-call.yml'
66 - ' Python/bytecodes.c'
77 - ' Python/ceval.c'
88 - ' Python/ceval_macros.h'
99 - ' Python/generated_cases.c.h'
1010 push :
11- paths :
12- - ' .github/workflows/tail-call.yml'
13- - ' Python/bytecodes.c'
14- - ' Python/ceval.c'
15- - ' Python/ceval_macros.h'
16- - ' Python/generated_cases.c.h'
11+ paths : *paths
1712 workflow_dispatch :
1813
1914permissions :
@@ -25,6 +20,7 @@ concurrency:
2520
2621env :
2722 FORCE_COLOR : 1
23+ LLVM_VERSION : 21
2824
2925jobs :
3026 tail-call :
3430 strategy :
3531 fail-fast : false
3632 matrix :
37- target :
38- - x86_64-pc-windows-msvc/msvc
39- - x86_64-pc-windows-msvc/msvc-free-threading
40- - x86_64-apple-darwin/clang
41- - aarch64-apple-darwin/clang
42- - x86_64-unknown-linux-gnu/gcc
43- - x86_64-unknown-linux-gnu/gcc-free-threading
44- - aarch64-unknown-linux-gnu/gcc
45- llvm :
46- - 20
4733 include :
4834 - target : x86_64-pc-windows-msvc/msvc
4935 architecture : x64
@@ -95,19 +81,19 @@ jobs:
9581 if : runner.os == 'macOS'
9682 run : |
9783 brew update
98- brew install llvm@${{ matrix.llvm }}
84+ brew install llvm@${{ env.LLVM_VERSION }}
9985 export SDKROOT="$(xcrun --show-sdk-path)"
100- export PATH="/usr/local/opt/llvm@${{ matrix.llvm }}/bin:$PATH"
101- export PATH="/opt/homebrew/opt/llvm@${{ matrix.llvm }}/bin:$PATH"
102- CC=clang-${{ matrix.llvm }} ./configure --with-tail-call-interp
86+ export PATH="/usr/local/opt/llvm@${{ env.LLVM_VERSION }}/bin:$PATH"
87+ export PATH="/opt/homebrew/opt/llvm@${{ env.LLVM_VERSION }}/bin:$PATH"
88+ CC=clang-${{ env.LLVM_VERSION }} ./configure --with-tail-call-interp
10389 make all --jobs 4
10490 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
10591
10692 - name : Native Linux
10793 if : runner.os == 'Linux'
10894 run : |
109- sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
110- export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
111- CC=clang-${{ matrix.llvm }} ./configure --with-tail-call-interp ${{ matrix.configure_flags }}
95+ sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
96+ export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
97+ CC=clang-${{ env.LLVM_VERSION }} ./configure --with-tail-call-interp ${{ matrix.configure_flags }}
11298 make all --jobs 4
11399 ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
0 commit comments