1
1
name : JIT
2
2
on :
3
3
pull_request :
4
+ paths :
5
+ - ' **jit**'
6
+ - ' Python/bytecodes.c'
7
+ - ' Python/optimizer*.c'
8
+ - ' Python/executor_cases.c.h'
9
+ - ' Python/optimizer_cases.c.h'
10
+ - ' !Python/perf_jit_trampoline.c'
11
+ - ' !**/*.md'
12
+ - ' !**/*.ini'
4
13
push :
14
+ paths :
15
+ - ' **jit**'
16
+ - ' Python/bytecodes.c'
17
+ - ' Python/optimizer*.c'
18
+ - ' Python/executor_cases.c.h'
19
+ - ' Python/optimizer_cases.c.h'
20
+ - ' !Python/perf_jit_trampoline.c'
21
+ - ' !**/*.md'
22
+ - ' !**/*.ini'
5
23
workflow_dispatch :
6
24
7
25
permissions :
@@ -39,40 +57,40 @@ jobs:
39
57
fail-fast : false
40
58
matrix :
41
59
target :
42
- # - i686-pc-windows-msvc/msvc
43
- # - x86_64-pc-windows-msvc/msvc
44
- # - aarch64-pc-windows-msvc/msvc
60
+ - i686-pc-windows-msvc/msvc
61
+ - x86_64-pc-windows-msvc/msvc
62
+ - aarch64-pc-windows-msvc/msvc
45
63
- x86_64-apple-darwin/clang
46
- # - aarch64-apple-darwin/clang
47
- # - x86_64-unknown-linux-gnu/gcc
48
- # - aarch64-unknown-linux-gnu/gcc
64
+ - aarch64-apple-darwin/clang
65
+ - x86_64-unknown-linux-gnu/gcc
66
+ - aarch64-unknown-linux-gnu/gcc
49
67
debug :
50
68
- true
51
69
- false
52
70
llvm :
53
71
- 19
54
72
include :
55
- # - target: i686-pc-windows-msvc/msvc
56
- # architecture: Win32
57
- # runner: windows-2022
58
- # - target: x86_64-pc-windows-msvc/msvc
59
- # architecture: x64
60
- # runner: windows-2022
61
- # - target: aarch64-pc-windows-msvc/msvc
62
- # architecture: ARM64
63
- # runner: windows-11-arm
73
+ - target : i686-pc-windows-msvc/msvc
74
+ architecture : Win32
75
+ runner : windows-latest
76
+ - target : x86_64-pc-windows-msvc/msvc
77
+ architecture : x64
78
+ runner : windows-latest
79
+ - target : aarch64-pc-windows-msvc/msvc
80
+ architecture : ARM64
81
+ runner : windows-11-arm
64
82
- target : x86_64-apple-darwin/clang
65
83
architecture : x86_64
84
+ runner : macos-13
85
+ - target : aarch64-apple-darwin/clang
86
+ architecture : aarch64
66
87
runner : macos-14
67
- # - target: aarch64-apple-darwin/clang
68
- # architecture: aarch64
69
- # runner: macos-14
70
- # - target: x86_64-unknown-linux-gnu/gcc
71
- # architecture: x86_64
72
- # runner: ubuntu-24.04
73
- # - target: aarch64-unknown-linux-gnu/gcc
74
- # architecture: aarch64
75
- # runner: ubuntu-24.04-arm
88
+ - target : x86_64-unknown-linux-gnu/gcc
89
+ architecture : x86_64
90
+ runner : ubuntu-24.04
91
+ - target : aarch64-unknown-linux-gnu/gcc
92
+ architecture : aarch64
93
+ runner : ubuntu-24.04-arm
76
94
steps :
77
95
- uses : actions/checkout@v4
78
96
with :
@@ -82,12 +100,11 @@ jobs:
82
100
python-version : ' 3.11'
83
101
84
102
# PCbuild downloads LLVM automatically:
85
- # - name: Windows
86
- # if: runner.os == 'Windows'
87
- # run: |
88
- # ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
89
- # ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} \
90
- # -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
103
+ - name : Windows
104
+ if : runner.os == 'Windows'
105
+ run : |
106
+ ./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
107
+ ./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
91
108
92
109
- name : macOS
93
110
# The `find` line is required as a result of https://github.com/actions/runner-images/issues/9966.
@@ -109,14 +126,14 @@ jobs:
109
126
arch -x86_64 make all --jobs 4
110
127
./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
111
128
112
- # - name: Linux
113
- # if: runner.os == 'Linux'
114
- # run: |
115
- # sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
116
- # export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
117
- # ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
118
- # make all --jobs 4
119
- # ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
129
+ - name : Linux
130
+ if : runner.os == 'Linux'
131
+ run : |
132
+ sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
133
+ export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
134
+ ./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
135
+ make all --jobs 4
136
+ ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
120
137
121
138
no-opt-jit :
122
139
name : JIT without optimizations (Debug)
0 commit comments