4545          - aarch64-unknown-linux-gnu/gcc 
4646          - free-threading 
4747        llvm :
48-           - 19 
48+           - 20 
4949        include :
5050#           - target: i686-pc-windows-msvc/msvc
5151#             architecture: Win32
8383        if : runner.os == 'Windows' && matrix.architecture != 'ARM64' 
8484        shell : cmd 
8585        run : | 
86-           choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.5  
86+           choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0  
8787          set PlatformToolset=clangcl 
88-           set LLVMToolsVersion=${{ matrix.llvm }}.1.5  
88+           set LLVMToolsVersion=${{ matrix.llvm }}.1.0  
8989          set LLVMInstallDir=C:\Program Files\LLVM 
9090          call ./PCbuild/build.bat --tail-call-interp -d -p ${{ matrix.architecture }} 
9191          call ./PCbuild/rt.bat -d -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 
@@ -95,26 +95,28 @@ jobs:
9595        if : runner.os == 'Windows' && matrix.architecture == 'ARM64' 
9696        shell : cmd 
9797        run : | 
98-           choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.5  
98+           choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0  
9999          set PlatformToolset=clangcl 
100-           set LLVMToolsVersion=${{ matrix.llvm }}.1.5  
100+           set LLVMToolsVersion=${{ matrix.llvm }}.1.0  
101101          set LLVMInstallDir=C:\Program Files\LLVM 
102102          ./PCbuild/build.bat --tail-call-interp -p ${{ matrix.architecture }} 
103103
104104#  The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966.
105105        #  This is a bug in the macOS runner image where the pre-installed Python is installed in the same
106106        #  directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes
107107        #  the symlink to the pre-installed Python so that the Homebrew Python is used instead.
108+         #  Note: when a new LLVM is released, the homebrew installation directory changes, so the builds will fail.
109+         #  We either need to upgrade LLVM or change the directory being pointed to.
108110      - name : Native macOS (release) 
109111        if : runner.os == 'macOS' 
110112        run : | 
111113          brew update 
112114          find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete 
113115          brew install llvm@${{ matrix.llvm }} 
114116          export SDKROOT="$(xcrun --show-sdk-path)" 
115-           export PATH="/opt/homebrew /opt/llvm@${{ matrix.llvm }} /bin:$PATH" 
116-           export PATH="/usr/local /opt/llvm@${{ matrix.llvm }} /bin:$PATH" 
117-           CC=clang-19  ./configure --with-tail-call-interp 
117+           export PATH="/usr/local /opt/llvm/bin:$PATH" 
118+           export PATH="/opt/homebrew /opt/llvm/bin:$PATH" 
119+           CC=clang-20  ./configure --with-tail-call-interp 
118120          make all --jobs 4 
119121          ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 
120122
@@ -123,7 +125,7 @@ jobs:
123125        run : | 
124126          sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} 
125127          export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" 
126-           CC=clang-19  ./configure --with-tail-call-interp --with-pydebug 
128+           CC=clang-20  ./configure --with-tail-call-interp --with-pydebug 
127129          make all --jobs 4 
128130          ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 
129131
@@ -132,7 +134,7 @@ jobs:
132134        run : | 
133135          sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} 
134136          export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" 
135-           CC=clang-19  ./configure --with-tail-call-interp --disable-gil 
137+           CC=clang-20  ./configure --with-tail-call-interp --disable-gil 
136138          make all --jobs 4 
137139          ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 
138140
0 commit comments