@@ -2,12 +2,14 @@ name: Tail calling interpreter
22on :
33 pull_request :
44 paths :
5+ - ' .github/workflows/tail-call.yml'
56 - ' Python/bytecodes.c'
67 - ' Python/ceval.c'
78 - ' Python/ceval_macros.h'
89 - ' Python/generated_cases.c.h'
910 push :
1011 paths :
12+ - ' .github/workflows/tail-call.yml'
1113 - ' Python/bytecodes.c'
1214 - ' Python/ceval.c'
1315 - ' Python/ceval_macros.h'
3537 target :
3638# Un-comment as we add support for more platforms for tail-calling interpreters.
3739# - i686-pc-windows-msvc/msvc
38- # - x86_64-pc-windows-msvc/msvc
40+ - x86_64-pc-windows-msvc/msvc
3941# - aarch64-pc-windows-msvc/msvc
4042 - x86_64-apple-darwin/clang
4143 - aarch64-apple-darwin/clang
4850# - target: i686-pc-windows-msvc/msvc
4951# architecture: Win32
5052# runner: windows-latest
51- # - target: x86_64-pc-windows-msvc/msvc
52- # architecture: x64
53- # runner: windows-latest
53+ - target : x86_64-pc-windows-msvc/msvc
54+ architecture : x64
55+ runner : windows-latest
5456# - target: aarch64-pc-windows-msvc/msvc
5557# architecture: ARM64
5658# runner: windows-latest
@@ -79,23 +81,31 @@ jobs:
7981
8082 - name : Native Windows (debug)
8183 if : runner.os == 'Windows' && matrix.architecture != 'ARM64'
84+ shell : cmd
8285 run : |
83- choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0
86+ choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.5
87+ set PlatformToolset=clangcl
88+ set LLVMToolsVersion=${{ matrix.llvm }}.1.5
89+ set LLVMInstallDir=C:\Program Files\LLVM
8490 ./PCbuild/build.bat --tail-call-interp -d -p ${{ matrix.architecture }}
8591 ./PCbuild/rt.bat -d -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
8692
8793 # No tests (yet):
8894 - name : Emulated Windows (release)
8995 if : runner.os == 'Windows' && matrix.architecture == 'ARM64'
96+ shell : cmd
9097 run : |
91- choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0
98+ choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.5
99+ set PlatformToolset=clangcl
100+ set LLVMToolsVersion=${{ matrix.llvm }}.1.5
101+ set LLVMInstallDir=C:\Program Files\LLVM
92102 ./PCbuild/build.bat --tail-call-interp -p ${{ matrix.architecture }}
93103
94104 # The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966.
95105 # This is a bug in the macOS runner image where the pre-installed Python is installed in the same
96106 # directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes
97107 # the symlink to the pre-installed Python so that the Homebrew Python is used instead.
98- - name : Native macOS (debug )
108+ - name : Native macOS (release )
99109 if : runner.os == 'macOS'
100110 run : |
101111 brew update
@@ -104,16 +114,16 @@ jobs:
104114 export SDKROOT="$(xcrun --show-sdk-path)"
105115 export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
106116 export PATH="/usr/local/opt/llvm/bin:$PATH"
107- CC=clang-19 ./configure --with-tail-call-interp --with-pydebug
117+ CC=clang-19 ./configure --with-tail-call-interp
108118 make all --jobs 4
109119 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
110120
111- - name : Native Linux (release )
121+ - name : Native Linux (debug )
112122 if : runner.os == 'Linux' && matrix.target != 'free-threading'
113123 run : |
114124 sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
115125 export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
116- CC=clang-19 ./configure --with-tail-call-interp
126+ CC=clang-19 ./configure --with-tail-call-interp --with-pydebug
117127 make all --jobs 4
118128 ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
119129
0 commit comments