55 - ' **jit**'
66 - ' Python/bytecodes.c'
77 - ' Python/optimizer*.c'
8- - ' Python/tier2_redundancy_eliminator_bytecodes .c'
8+ - ' Python/optimizer_bytecodes .c'
99 push :
1010 paths :
1111 - ' **jit**'
1212 - ' Python/bytecodes.c'
1313 - ' Python/optimizer*.c'
14- - ' Python/tier2_redundancy_eliminator_bytecodes .c'
14+ - ' Python/optimizer_bytecodes .c'
1515 workflow_dispatch :
1616
1717concurrency :
2929 target :
3030 - i686-pc-windows-msvc/msvc
3131 - x86_64-pc-windows-msvc/msvc
32+ - aarch64-pc-windows-msvc/msvc
3233 - x86_64-apple-darwin/clang
3334 - aarch64-apple-darwin/clang
3435 - x86_64-unknown-linux-gnu/gcc
4950 architecture : x64
5051 runner : windows-latest
5152 compiler : msvc
53+ - target : aarch64-pc-windows-msvc/msvc
54+ architecture : ARM64
55+ runner : windows-latest
56+ compiler : msvc
5257 - target : x86_64-apple-darwin/clang
5358 architecture : x86_64
5459 runner : macos-13
@@ -70,13 +75,13 @@ jobs:
7075 runner : ubuntu-latest
7176 compiler : gcc
7277 # These fail because of emulation, not because of the JIT:
73- exclude : test_unix_events test_init test_process_pool test_shutdown test_multiprocessing_fork test_cmd_line test_faulthandler test_os test_perf_profiler test_posix test_signal test_socket test_subprocess test_threading test_venv
78+ exclude : test_unix_events test_init test_process_pool test_shutdown test_multiprocessing_fork test_cmd_line test_faulthandler test_os test_perf_profiler test_posix test_signal test_socket test_subprocess test_threading test_venv test_external_inspection
7479 - target : aarch64-unknown-linux-gnu/clang
7580 architecture : aarch64
7681 runner : ubuntu-latest
7782 compiler : clang
7883 # These fail because of emulation, not because of the JIT:
79- exclude : test_unix_events test_init test_process_pool test_shutdown test_multiprocessing_fork test_cmd_line test_faulthandler test_os test_perf_profiler test_posix test_signal test_socket test_subprocess test_threading test_venv
84+ exclude : test_unix_events test_init test_process_pool test_shutdown test_multiprocessing_fork test_cmd_line test_faulthandler test_os test_perf_profiler test_posix test_signal test_socket test_subprocess test_threading test_venv test_external_inspection
8085 env :
8186 CC : ${{ matrix.compiler }}
8287 steps :
@@ -85,19 +90,26 @@ jobs:
8590 with :
8691 python-version : ' 3.11'
8792
88- - name : Windows
89- if : runner.os == 'Windows'
93+ - name : Native Windows
94+ if : runner.os == 'Windows' && matrix.architecture != 'ARM64'
9095 run : |
9196 choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}
9297 ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '--pgo' }} -p ${{ matrix.architecture }}
9398 ./PCbuild/rt.bat ${{ matrix.debug && '-d' }} -p ${{ matrix.architecture }} -q --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 3600 --verbose2 --verbose3
9499
95- - name : macOS
100+ # No PGO or tests (yet):
101+ - name : Emulated Windows
102+ if : runner.os == 'Windows' && matrix.architecture == 'ARM64'
103+ run : |
104+ choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}
105+ ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
106+
107+ - name : Native macOS
96108 if : runner.os == 'macOS'
97109 run : |
98110 brew install llvm@${{ matrix.llvm }}
99- export SDKROOT="$(xcrun --show-sdk-path)"
100- ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
111+ SDKROOT="$(xcrun --show-sdk-path)" \
112+ ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
101113 make all --jobs 4
102114 ./python.exe -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 3600 --verbose2 --verbose3
103115
@@ -122,10 +134,10 @@ jobs:
122134 sudo apt install --yes "gcc-$HOST" qemu-user
123135 ${{ !matrix.debug && matrix.compiler == 'clang' && './configure --enable-optimizations' || '' }}
124136 ${{ !matrix.debug && matrix.compiler == 'clang' && 'make profile-run-stamp --jobs 4' || '' }}
125- export CC="${{ matrix.compiler == 'clang' && 'clang --target=$HOST' || '$HOST-gcc' }}"
126- export CPP="$CC --preprocess"
127- export HOSTRUNNER=qemu-${{ matrix.architecture }}
128137 export QEMU_LD_PREFIX="/usr/$HOST"
129- ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }} --build=x86_64-linux-gnu --host="$HOST" --with-build-python=../build/bin/python3 --with-pkg-config=no ac_cv_buggy_getaddrinfo=no ac_cv_file__dev_ptc=no ac_cv_file__dev_ptmx=yes
138+ CC="${{ matrix.compiler == 'clang' && 'clang --target=$HOST' || '$HOST-gcc' }}" \
139+ CPP="$CC --preprocess" \
140+ HOSTRUNNER=qemu-${{ matrix.architecture }} \
141+ ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }} --build=x86_64-linux-gnu --host="$HOST" --with-build-python=../build/bin/python3 --with-pkg-config=no ac_cv_buggy_getaddrinfo=no ac_cv_file__dev_ptc=no ac_cv_file__dev_ptmx=yes
130142 make all --jobs 4
131143 ./python -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 3600 --verbose2 --verbose3
0 commit comments