7474 runner : windows-latest
7575 - target : aarch64-pc-windows-msvc/msvc
7676 architecture : ARM64
77- runner : windows-latest
77+ runner : windows-11-arm
7878 - target : x86_64-apple-darwin/clang
7979 architecture : x86_64
8080 runner : macos-13
@@ -95,36 +95,29 @@ jobs:
9595 with :
9696 python-version : ' 3.11'
9797
98- - name : Native Windows
99- if : runner.os == 'Windows' && matrix.architecture != 'ARM64'
98+ # PCbuild downloads LLVM automatically:
99+ - name : Windows
100+ if : runner.os == 'Windows'
100101 run : |
101- choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0
102102 ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
103103 ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
104104
105- # No tests (yet):
106- - name : Emulated Windows
107- if : runner.os == 'Windows' && matrix.architecture == 'ARM64'
108- run : |
109- choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0
110- ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
111-
112105 # The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966.
113106 # This is a bug in the macOS runner image where the pre-installed Python is installed in the same
114107 # directory as the Homebrew Python, which causes the build to fail for macos-13. This line removes
115108 # the symlink to the pre-installed Python so that the Homebrew Python is used instead.
116- - name : Native macOS
109+ - name : macOS
117110 if : runner.os == 'macOS'
118111 run : |
119112 brew update
120113 find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
121114 brew install llvm@${{ matrix.llvm }}
122115 export SDKROOT="$(xcrun --show-sdk-path)"
123- ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
116+ ./configure --enable-experimental-jit --enable-universalsdk --with-universal-archs=universal2 ${{ matrix.debug && '--with-pydebug' || '' }}
124117 make all --jobs 4
125118 ./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
126119
127- - name : Native Linux
120+ - name : Linux
128121 if : runner.os == 'Linux'
129122 run : |
130123 sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
@@ -133,29 +126,30 @@ jobs:
133126 make all --jobs 4
134127 ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
135128
136- jit-with-disabled-gil :
137- name : Free-Threaded (Debug)
138- needs : interpreter
139- runs-on : ubuntu-24.04
140- timeout-minutes : 90
141- strategy :
142- fail-fast : false
143- matrix :
144- llvm :
145- - 19
146- steps :
147- - uses : actions/checkout@v4
148- with :
149- persist-credentials : false
150- - uses : actions/setup-python@v5
151- with :
152- python-version : ' 3.11'
153- - name : Build with JIT enabled and GIL disabled
154- run : |
155- sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
156- export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
157- ./configure --enable-experimental-jit --with-pydebug --disable-gil
158- make all --jobs 4
159- - name : Run tests
160- run : |
161- ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
129+ # XXX: GH-133171
130+ # jit-with-disabled-gil:
131+ # name: Free-Threaded (Debug)
132+ # needs: interpreter
133+ # runs-on: ubuntu-24.04
134+ # timeout-minutes: 90
135+ # strategy:
136+ # fail-fast: false
137+ # matrix:
138+ # llvm:
139+ # - 19
140+ # steps:
141+ # - uses: actions/checkout@v4
142+ # with:
143+ # persist-credentials: false
144+ # - uses: actions/setup-python@v5
145+ # with:
146+ # python-version: '3.11'
147+ # - name: Build with JIT enabled and GIL disabled
148+ # run: |
149+ # sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
150+ # export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
151+ # ./configure --enable-experimental-jit --with-pydebug --disable-gil
152+ # make all --jobs 4
153+ # - name: Run tests
154+ # run: |
155+ # ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
0 commit comments