2323 LLVM_VERSION : 21
2424
2525jobs :
26- tail-call :
26+ windows :
2727 name : ${{ matrix.target }}
2828 runs-on : ${{ matrix.runner }}
2929 timeout-minutes : 90
@@ -41,59 +41,89 @@ jobs:
4141 runner : windows-2025-vs2026
4242 build_flags : --disable-gil
4343 run_tests : false
44- - target : x86_64-apple-darwin/clang
45- architecture : x86_64
46- runner : macos-15-intel
47- - target : aarch64-apple-darwin/clang
48- architecture : aarch64
49- runner : macos-14
50- - target : x86_64-unknown-linux-gnu/gcc
51- architecture : x86_64
52- runner : ubuntu-24.04
53- configure_flags : --with-pydebug
54- - target : x86_64-unknown-linux-gnu/gcc-free-threading
55- architecture : x86_64
56- runner : ubuntu-24.04
57- configure_flags : --disable-gil
58- - target : aarch64-unknown-linux-gnu/gcc
59- architecture : aarch64
60- runner : ubuntu-24.04-arm
61- configure_flags : --with-pydebug
6244 steps :
6345 - uses : actions/checkout@v6
6446 with :
6547 persist-credentials : false
6648 - uses : actions/setup-python@v6
6749 with :
6850 python-version : ' 3.11'
69-
70- - name : Native Windows MSVC (release)
71- if : runner.os == 'Windows'
51+ - name : Build
7252 shell : pwsh
7353 run : |
7454 $env:PlatformToolset = "v145"
7555 ./PCbuild/build.bat --tail-call-interp ${{ matrix.build_flags }} -c Release -p ${{ matrix.architecture }}
56+ - name : Test
57+ shell : pwsh
58+ run : |
7659 if ("${{ matrix.run_tests }}" -eq "true") {
7760 ./PCbuild/rt.bat -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
7861 }
7962
80- - name : Native macOS (release)
81- if : runner.os == 'macOS'
63+ macos :
64+ name : ${{ matrix.target }}
65+ runs-on : ${{ matrix.runner }}
66+ timeout-minutes : 90
67+ strategy :
68+ fail-fast : false
69+ matrix :
70+ include :
71+ - target : x86_64-apple-darwin/clang
72+ runner : macos-15-intel
73+ - target : aarch64-apple-darwin/clang
74+ runner : macos-14
75+ steps :
76+ - uses : actions/checkout@v6
77+ with :
78+ persist-credentials : false
79+ - uses : actions/setup-python@v6
80+ with :
81+ python-version : ' 3.11'
82+ - name : Install dependencies
8283 run : |
8384 brew update
8485 brew install llvm@${{ env.LLVM_VERSION }}
86+ - name : Build
87+ run : |
8588 export SDKROOT="$(xcrun --show-sdk-path)"
8689 export PATH="/usr/local/opt/llvm@${{ env.LLVM_VERSION }}/bin:$PATH"
8790 export PATH="/opt/homebrew/opt/llvm@${{ env.LLVM_VERSION }}/bin:$PATH"
8891 CC=clang-${{ env.LLVM_VERSION }} ./configure --with-tail-call-interp
8992 make all --jobs 4
93+ - name : Test
94+ run : |
9095 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
9196
92- - name : Native Linux
93- if : runner.os == 'Linux'
97+ linux :
98+ name : ${{ matrix.target }}
99+ runs-on : ${{ matrix.runner }}
100+ timeout-minutes : 90
101+ strategy :
102+ fail-fast : false
103+ matrix :
104+ include :
105+ - target : x86_64-unknown-linux-gnu/gcc
106+ runner : ubuntu-24.04
107+ configure_flags : --with-pydebug
108+ - target : x86_64-unknown-linux-gnu/gcc-free-threading
109+ runner : ubuntu-24.04
110+ configure_flags : --disable-gil
111+ - target : aarch64-unknown-linux-gnu/gcc
112+ runner : ubuntu-24.04-arm
113+ configure_flags : --with-pydebug
114+ steps :
115+ - uses : actions/checkout@v6
116+ with :
117+ persist-credentials : false
118+ - uses : actions/setup-python@v6
119+ with :
120+ python-version : ' 3.11'
121+ - name : Build
94122 run : |
95123 sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
96124 export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
97125 CC=clang-${{ env.LLVM_VERSION }} ./configure --with-tail-call-interp ${{ matrix.configure_flags }}
98126 make all --jobs 4
127+ - name : Test
128+ run : |
99129 ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
0 commit comments