55 - ' **jit**'
66 - ' Python/bytecodes.c'
77 - ' Python/optimizer*.c'
8- - ' Python/optimizer_bytecodes.c'
98 push :
109 paths :
1110 - ' **jit**'
1211 - ' Python/bytecodes.c'
1312 - ' Python/optimizer*.c'
14- - ' Python/optimizer_bytecodes.c'
1513 workflow_dispatch :
1614
1715concurrency :
@@ -22,13 +20,14 @@ jobs:
2220 jit :
2321 name : ${{ matrix.target }} (${{ matrix.debug && 'Debug' || 'Release' }})
2422 runs-on : ${{ matrix.runner }}
25- timeout-minutes : 60
23+ timeout-minutes : 75
2624 strategy :
2725 fail-fast : false
2826 matrix :
2927 target :
3028 - i686-pc-windows-msvc/msvc
3129 - x86_64-pc-windows-msvc/msvc
30+ - aarch64-pc-windows-msvc/msvc
3231 - x86_64-apple-darwin/clang
3332 - aarch64-apple-darwin/clang
3433 - x86_64-unknown-linux-gnu/gcc
4948 architecture : x64
5049 runner : windows-latest
5150 compiler : msvc
51+ - target : aarch64-pc-windows-msvc/msvc
52+ architecture : ARM64
53+ runner : windows-latest
54+ compiler : msvc
5255 - target : x86_64-apple-darwin/clang
5356 architecture : x86_64
5457 runner : macos-13
@@ -70,13 +73,13 @@ jobs:
7073 runner : ubuntu-latest
7174 compiler : gcc
7275 # 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
76+ 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
7477 - target : aarch64-unknown-linux-gnu/clang
7578 architecture : aarch64
7679 runner : ubuntu-latest
7780 compiler : clang
7881 # 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
82+ 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
8083 env :
8184 CC : ${{ matrix.compiler }}
8285 steps :
@@ -85,21 +88,28 @@ jobs:
8588 with :
8689 python-version : ' 3.11'
8790
88- - name : Windows
89- if : runner.os == 'Windows'
91+ - name : Native Windows
92+ if : runner.os == 'Windows' && matrix.architecture != 'ARM64'
9093 run : |
9194 choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}
9295 ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '--pgo' }} -p ${{ matrix.architecture }}
93- ./PCbuild/rt.bat ${{ matrix.debug && '-d' }} -p ${{ matrix.architecture }} -q --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 3600 --verbose2 --verbose3
96+ ./PCbuild/rt.bat ${{ matrix.debug && '-d' }} -p ${{ matrix.architecture }} -q --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3
97+
98+ # No PGO or tests (yet):
99+ - name : Emulated Windows
100+ if : runner.os == 'Windows' && matrix.architecture == 'ARM64'
101+ run : |
102+ choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}
103+ ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
94104
95- - name : macOS
105+ - name : Native macOS
96106 if : runner.os == 'macOS'
97107 run : |
98108 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' }}
109+ SDKROOT="$(xcrun --show-sdk-path)" \
110+ ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
101111 make all --jobs 4
102- ./python.exe -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 3600 --verbose2 --verbose3
112+ ./python.exe -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3
103113
104114 - name : Native Linux
105115 if : runner.os == 'Linux' && matrix.architecture == 'x86_64'
@@ -108,7 +118,7 @@ jobs:
108118 export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
109119 ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '--enable-optimizations --with-lto' }}
110120 make all --jobs 4
111- ./python -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 3600 --verbose2 --verbose3
121+ ./python -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3
112122
113123 - name : Emulated Linux
114124 if : runner.os == 'Linux' && matrix.architecture != 'x86_64'
@@ -122,10 +132,10 @@ jobs:
122132 sudo apt install --yes "gcc-$HOST" qemu-user
123133 ${{ !matrix.debug && matrix.compiler == 'clang' && './configure --enable-optimizations' || '' }}
124134 ${{ !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 }}
128135 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
136+ CC="${{ matrix.compiler == 'clang' && 'clang --target=$HOST' || '$HOST-gcc' }}" \
137+ CPP="$CC --preprocess" \
138+ HOSTRUNNER=qemu-${{ matrix.architecture }} \
139+ ./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
130140 make all --jobs 4
131- ./python -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 3600 --verbose2 --verbose3
141+ ./python -m test --exclude ${{ matrix.exclude }} --multiprocess 0 --timeout 4500 --verbose2 --verbose3
0 commit comments