Skip to content

Commit 1b1f2d5

Browse files
committed
Move ci config into main repo
1 parent de20299 commit 1b1f2d5

21 files changed

+4334
-1
lines changed

ci.jsonnet

Lines changed: 624 additions & 1 deletion
Large diffs are not rendered by default.

ci/constants.libsonnet

Lines changed: 274 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,274 @@
1+
{
2+
local graal_common = import "graal/ci/common.jsonnet",
3+
4+
MX_VERSION:: "HEAD",
5+
6+
TIME_LIMIT:: {
7+
"10m": "00:10:00",
8+
"15m": "00:15:00",
9+
"30m": "00:30:00",
10+
"90m": "1:30:00",
11+
"1h": "1:00:00",
12+
"2h": "2:00:00",
13+
"3h": "3:00:00",
14+
"4h": "4:00:00",
15+
"5h": "5:00:00",
16+
"6h": "6:00:00",
17+
"7h": "7:00:00",
18+
"8h": "8:00:00",
19+
"9h": "9:00:00",
20+
"10h": "10:00:00",
21+
"11h": "11:00:00",
22+
"16h": "16:00:00",
23+
"20h": "20:00:00",
24+
},
25+
26+
TARGET:: {
27+
onDemand: graal_common.frequencies.on_demand.targets,
28+
postMerge: graal_common.frequencies.post_merge.targets,
29+
daily: graal_common.frequencies.daily.targets,
30+
weekly: graal_common.frequencies.weekly.targets,
31+
monthly: graal_common.frequencies.monthly.targets,
32+
gate: graal_common.frequencies.gate.targets,
33+
},
34+
35+
NOTIFY_GROUPS:: ["[email protected]"],
36+
37+
local ENV = {
38+
graalpy_svm_ce: ["--env", "native-ce"],
39+
graalpy_svm_ee: ["--env", "native-ee"],
40+
graalpy_jvm_ce: ["--env", "jvm-ce-libgraal"],
41+
graalpy_jvm_ee: ["--env", "jvm-ee-libgraal"],
42+
libgraal_ce: ["--env", "../../graal/vm/mx.vm/libgraal"],
43+
libgraal_ee: ["--env", "../../graal-enterprise/vm-enterprise/mx.vm-enterprise/libgraal-enterprise"],
44+
},
45+
46+
local DY = {
47+
ce: "/vm",
48+
ee: "/vm-enterprise,/graalpython-enterprise",
49+
},
50+
51+
local PYVM = {
52+
graalpython: "graalpython",
53+
cpython: "cpython",
54+
pypy: "pypy",
55+
},
56+
PYVM:: PYVM,
57+
58+
local PYVM_CONFIG = {
59+
default: "default",
60+
default_bc_dsl: "default-bc-dsl",
61+
default_multi: "default-multi",
62+
interpreter: "interpreter",
63+
interpreter_bc_dsl: "interpreter-bc-dsl",
64+
native_interpreter: "native-interpreter",
65+
native_interpreter_bc_dsl: "native-interpreter-bc-dsl",
66+
interpreter_multi: "interpreter-multi",
67+
native_interpreter_multi: "native-interpreter-multi",
68+
default_multi_tier: "default-multi-tier",
69+
native: "native",
70+
native_bc_dsl: "native-bc-dsl",
71+
native_multi: "native-multi",
72+
launcher: "launcher",
73+
panama: "panama",
74+
},
75+
76+
local JAVA_EMBEDDING_VM_CONFIG = {
77+
java_embedding_multi_shared: "java-driver-multi-shared",
78+
java_embedding_interpreter_multi_shared: "java-driver-interpreter-multi-shared",
79+
},
80+
81+
// the host VMs
82+
local JVM_VM = {
83+
graaljdk_ce: {
84+
dy: ["--dynamicimports", DY.ce],
85+
env: ENV.graalpy_jvm_ce,
86+
edition: 'ce',
87+
},
88+
graaljdk_ee: {
89+
dy: ["--dynamicimports", DY.ee],
90+
env: ENV.graalpy_jvm_ee,
91+
edition: 'ee',
92+
},
93+
graal_native_image_ce: {
94+
dy: ["--dynamicimports", DY.ce],
95+
env: ENV.graalpy_svm_ce,
96+
edition: 'ce',
97+
},
98+
graal_native_image_ee: {
99+
dy: ["--dynamicimports", DY.ee],
100+
env: ENV.graalpy_svm_ee,
101+
edition: 'ee',
102+
},
103+
server_libgraal_ce: {
104+
jvm: 'server',
105+
jvm_config: 'graal-core-libgraal',
106+
dy: ["--dynamicimports", DY.ce],
107+
env: ENV.libgraal_ce,
108+
edition: 'ce',
109+
},
110+
server_libgraal_ee: {
111+
jvm: 'server',
112+
jvm_config: 'graal-enterprise-libgraal',
113+
dy: ["--dynamicimports", DY.ee],
114+
env: ENV.libgraal_ee,
115+
edition: 'ee',
116+
},
117+
// this is needed to simplify the VM mixins (see below)
118+
none: {
119+
dy: [],
120+
env: [],
121+
edition: 'ce',
122+
},
123+
},
124+
125+
// the python vms
126+
local PYTHON_VM = {
127+
graalpython: {
128+
python_vm: PYVM.graalpython,
129+
python_vm_config: PYVM_CONFIG.default,
130+
},
131+
graalpython_bc_dsl: {
132+
python_vm: PYVM.graalpython,
133+
python_vm_config: PYVM_CONFIG.default_bc_dsl,
134+
},
135+
graalpython_interpreter: {
136+
python_vm: PYVM.graalpython,
137+
python_vm_config: PYVM_CONFIG.interpreter,
138+
},
139+
graalpython_interpreter_bc_dsl: {
140+
python_vm: PYVM.graalpython,
141+
python_vm_config: PYVM_CONFIG.interpreter_bc_dsl,
142+
},
143+
graalpython_native_interpreter: {
144+
python_vm: PYVM.graalpython,
145+
python_vm_config: PYVM_CONFIG.native_interpreter,
146+
},
147+
graalpython_native_interpreter_bc_dsl: {
148+
python_vm: PYVM.graalpython,
149+
python_vm_config: PYVM_CONFIG.native_interpreter_bc_dsl,
150+
},
151+
graalpython_multi: {
152+
python_vm: PYVM.graalpython,
153+
python_vm_config: PYVM_CONFIG.default_multi,
154+
},
155+
graalpython_interpreter_multi: {
156+
python_vm: PYVM.graalpython,
157+
python_vm_config: PYVM_CONFIG.interpreter_multi,
158+
},
159+
graalpython_native_interpreter_multi: {
160+
python_vm: PYVM.graalpython,
161+
python_vm_config: PYVM_CONFIG.native_interpreter_multi,
162+
},
163+
graalpython_multi_tier: {
164+
python_vm: PYVM.graalpython,
165+
python_vm_config: PYVM_CONFIG.default_multi_tier,
166+
},
167+
graalpython_native: {
168+
python_vm: PYVM.graalpython,
169+
python_vm_config: PYVM_CONFIG.native,
170+
},
171+
graalpython_native_bc_dsl: {
172+
python_vm: PYVM.graalpython,
173+
python_vm_config: PYVM_CONFIG.native_bc_dsl,
174+
},
175+
graalpython_native_multi: {
176+
python_vm: PYVM.graalpython,
177+
python_vm_config: PYVM_CONFIG.native_multi,
178+
},
179+
graalpython_panama: {
180+
python_vm: PYVM.graalpython,
181+
python_vm_config: PYVM_CONFIG.panama,
182+
},
183+
java_embedding_multi_shared: {
184+
python_vm: PYVM.graalpython,
185+
python_vm_config: JAVA_EMBEDDING_VM_CONFIG.java_embedding_multi_shared,
186+
},
187+
java_embedding_interpreter_multi_shared: {
188+
python_vm: PYVM.graalpython,
189+
python_vm_config: JAVA_EMBEDDING_VM_CONFIG.java_embedding_interpreter_multi_shared,
190+
},
191+
cpython: {
192+
python_vm: PYVM.cpython,
193+
python_vm_config: PYVM_CONFIG.default,
194+
},
195+
cpython_launcher: {
196+
python_vm: PYVM.cpython,
197+
python_vm_config: PYVM_CONFIG.launcher,
198+
},
199+
pypy: {
200+
python_vm: PYVM.pypy,
201+
python_vm_config: PYVM_CONFIG.default,
202+
},
203+
pypy_launcher: {
204+
python_vm: PYVM.pypy,
205+
python_vm_config: PYVM_CONFIG.launcher,
206+
},
207+
},
208+
209+
local VM = {
210+
// graalpy jvm standalones
211+
graalpython_core: PYTHON_VM.graalpython + JVM_VM.graaljdk_ce,
212+
graalpython_core_bc_dsl: PYTHON_VM.graalpython_bc_dsl + JVM_VM.graaljdk_ce,
213+
graalpython_core_interpreter: PYTHON_VM.graalpython_interpreter + JVM_VM.graaljdk_ce,
214+
graalpython_core_interpreter_bc_dsl: PYTHON_VM.graalpython_interpreter_bc_dsl + JVM_VM.graaljdk_ce,
215+
graalpython_core_multi: PYTHON_VM.graalpython_multi + JVM_VM.graaljdk_ce,
216+
graalpython_core_interpreter_multi: PYTHON_VM.graalpython_interpreter_multi + JVM_VM.graaljdk_ce,
217+
graalpython_core_multi_tier: PYTHON_VM.graalpython_multi_tier + JVM_VM.graaljdk_ce,
218+
graalpython_enterprise: PYTHON_VM.graalpython + JVM_VM.graaljdk_ee,
219+
graalpython_enterprise_bc_dsl: PYTHON_VM.graalpython_bc_dsl + JVM_VM.graaljdk_ee,
220+
graalpython_enterprise_multi: PYTHON_VM.graalpython_multi + JVM_VM.graaljdk_ee,
221+
graalpython_enterprise_multi_tier: PYTHON_VM.graalpython_multi_tier + JVM_VM.graaljdk_ee,
222+
graalpython_enterprise_interpreter: PYTHON_VM.graalpython_interpreter + JVM_VM.graaljdk_ee,
223+
graalpython_enterprise_interpreter_bc_dsl: PYTHON_VM.graalpython_interpreter_bc_dsl + JVM_VM.graaljdk_ee,
224+
graalpython_core_native: PYTHON_VM.graalpython_native + JVM_VM.graaljdk_ce,
225+
graalpython_core_native_bc_dsl: PYTHON_VM.graalpython_native_bc_dsl + JVM_VM.graaljdk_ce,
226+
graalpython_core_native_interpreter: PYTHON_VM.graalpython_native_interpreter + JVM_VM.graaljdk_ce,
227+
graalpython_core_native_interpreter_bc_dsl: PYTHON_VM.graalpython_native_interpreter_bc_dsl + JVM_VM.graaljdk_ce,
228+
graalpython_core_native_multi: PYTHON_VM.graalpython_native_multi + JVM_VM.graaljdk_ce,
229+
graalpython_core_native_interpreter_multi: PYTHON_VM.graalpython_native_interpreter_multi + JVM_VM.graaljdk_ce,
230+
graalpython_enterprise_native: PYTHON_VM.graalpython_native + JVM_VM.graaljdk_ee,
231+
graalpython_enterprise_native_bc_dsl: PYTHON_VM.graalpython_native_bc_dsl + JVM_VM.graaljdk_ee,
232+
graalpython_enterprise_native_multi: PYTHON_VM.graalpython_native_multi + JVM_VM.graaljdk_ee,
233+
graalpython_core_panama: PYTHON_VM.graalpython_panama + JVM_VM.graaljdk_ce,
234+
graalpython_enterprise_panama: PYTHON_VM.graalpython_panama + JVM_VM.graaljdk_ee,
235+
236+
// graalpy native standalones
237+
graalvm_ce_default: PYTHON_VM.graalpython + JVM_VM.graal_native_image_ce,
238+
graalvm_ce_default_interpreter: PYTHON_VM.graalpython_interpreter + JVM_VM.graal_native_image_ce,
239+
graalvm_ee_default: PYTHON_VM.graalpython + JVM_VM.graal_native_image_ee,
240+
graalvm_ee_default_bc_dsl: PYTHON_VM.graalpython_bc_dsl + JVM_VM.graal_native_image_ee,
241+
graalvm_ee_default_interpreter: PYTHON_VM.graalpython_interpreter + JVM_VM.graal_native_image_ee,
242+
graalvm_ee_default_interpreter_bc_dsl: PYTHON_VM.graalpython_interpreter_bc_dsl + JVM_VM.graal_native_image_ee,
243+
graalvm_ce_default_multi_tier: PYTHON_VM.graalpython_multi_tier + JVM_VM.graal_native_image_ce,
244+
graalvm_ee_default_multi_tier: PYTHON_VM.graalpython_multi_tier + JVM_VM.graal_native_image_ee,
245+
246+
// only 3 compiler threads
247+
graalpython_core_3threads: PYTHON_VM.graalpython + JVM_VM.graaljdk_ce + {python_vm_config: super.python_vm_config + "-3-compiler-threads"},
248+
graalpython_enterprise_3threads: PYTHON_VM.graalpython + JVM_VM.graaljdk_ee + {python_vm_config: super.python_vm_config + "-3-compiler-threads"},
249+
graalvm_ce_default_3threads: PYTHON_VM.graalpython + JVM_VM.graal_native_image_ce + {python_vm_config: super.python_vm_config + "-3-compiler-threads"},
250+
graalvm_ee_default_3threads: PYTHON_VM.graalpython + JVM_VM.graal_native_image_ee + {python_vm_config: super.python_vm_config + "-3-compiler-threads"},
251+
graalpython_core_multi_tier_3threads: PYTHON_VM.graalpython_multi_tier + JVM_VM.graaljdk_ce + {python_vm_config: super.python_vm_config + "-3-compiler-threads"},
252+
graalpython_enterprise_multi_tier_3threads: PYTHON_VM.graalpython_multi_tier + JVM_VM.graaljdk_ee + {python_vm_config: super.python_vm_config + "-3-compiler-threads"},
253+
graalvm_ce_default_multi_tier_3threads: PYTHON_VM.graalpython_multi_tier + JVM_VM.graal_native_image_ce + {python_vm_config: super.python_vm_config + "-3-compiler-threads"},
254+
graalvm_ee_default_multi_tier_3threads: PYTHON_VM.graalpython_multi_tier + JVM_VM.graal_native_image_ee + {python_vm_config: super.python_vm_config + "-3-compiler-threads"},
255+
256+
// Java embedding
257+
java_embedding_core_multi_shared: PYTHON_VM.java_embedding_multi_shared + JVM_VM.server_libgraal_ce,
258+
java_embedding_core_interpreter_multi_shared: PYTHON_VM.java_embedding_interpreter_multi_shared + JVM_VM.server_libgraal_ce,
259+
java_jmh_core: JVM_VM.server_libgraal_ce,
260+
java_jmh_enterprise: JVM_VM.server_libgraal_ee,
261+
262+
// basline vms
263+
cpython: PYTHON_VM.cpython + JVM_VM.none,
264+
pypy: PYTHON_VM.pypy + JVM_VM.none,
265+
cpython_launcher: PYTHON_VM.cpython_launcher + JVM_VM.none,
266+
pypy_launcher: PYTHON_VM.pypy_launcher + JVM_VM.none,
267+
},
268+
VM:: VM,
269+
}
270+
271+
// Local Variables:
272+
// jsonnet-indent-level: 4
273+
// smie-indent-basic: 4
274+
// End:

ci/graal/ci/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# CI Shared Files
2+
3+
## Files shared between many repositories
4+
5+
* `common.json`
6+
* `ci/common.jsonnet`
7+
8+
## Files shared between graal and graal-enterprise
9+
10+
* `graal-common.json`
11+
* `ci/ci_common`
12+
* `<suite>/ci/ci_common` in various suites

0 commit comments

Comments
 (0)