diff --git a/substratevm/ci/ci.jsonnet b/substratevm/ci/ci.jsonnet index 2013ab4b24fb..3642e5e9b1df 100644 --- a/substratevm/ci/ci.jsonnet +++ b/substratevm/ci/ci.jsonnet @@ -29,6 +29,7 @@ local use_musl_static = sg.use_musl_static, local use_musl_dynamic = sg.use_musl_dynamic, local add_quickbuild = sg.add_quickbuild, + local partial = sg.partial, local use_oraclejdk_latest = task_spec(run_spec.evaluate_late({ "use_oraclejdk_latest": common.oraclejdkLatest + galahad.exclude @@ -122,24 +123,24 @@ // START MAIN BUILD DEFINITION local task_dict = { "style-fullbuild": mxgate("fullbuild,style,nativeimagehelp,check_libcontainer_annotations,check_libcontainer_namespace") + eclipse + jdt + spotbugs + maven + mx_build_exploded + gdb("14.2") + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest": gate + t("30:00"), + "linux:amd64:jdk-latest": tier1 + t("30:00"), }), "basics": mxgate("build,helloworld,native_unittests,truffle_unittests,debuginfotest,hellomodule,java_agent,condconfig") + maven + jsonschema + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest": gate + gdb("14.2") + t("55:00"), - "windows:amd64:jdk-latest": gate + t("1:30:00"), + "linux:amd64:jdk-latest": tier2 + partial(2) + gdb("14.2") + t("40:00"), + "windows:amd64:jdk-latest": tier3 + t("1:30:00"), }) + variants({ "optlevel:quickbuild": { - "windows:amd64:jdk-latest": gate + t("1:30:00"), + "windows:amd64:jdk-latest": tier3 + t("1:30:00"), }, "libc:musl_static": { - "linux:amd64:jdk-latest": gate + gdb("14.2") + t("55:00"), + "linux:amd64:jdk-latest": tier3 + gdb("14.2") + t("55:00"), }, "java-compiler:ecj": { - "linux:amd64:jdk-latest": gate + gdb("14.2") + t("55:00"), + "linux:amd64:jdk-latest": tier2 + partial(2) + gdb("14.2") + t("40:00"), }, }), "oraclejdk-helloworld": mxgate("build,helloworld,hellomodule") + maven + jsonschema + platform_spec(no_jobs) + platform_spec({ - "linux:amd64:jdk-latest": gate + use_oraclejdk_latest + t("30:00"), + "linux:amd64:jdk-latest": tier1 + use_oraclejdk_latest + t("30:00"), }), }, // END MAIN BUILD DEFINITION diff --git a/substratevm/ci/ci_common/svm-gate.libsonnet b/substratevm/ci/ci_common/svm-gate.libsonnet index 3367297dbace..4b6ae6c955aa 100644 --- a/substratevm/ci/ci_common/svm-gate.libsonnet +++ b/substratevm/ci/ci_common/svm-gate.libsonnet @@ -68,6 +68,18 @@ targets: [t], }), + // Split gate into multiple batches + partial(num):: run_spec.add_multiply( + [ + task_spec({ + local batch = "%d/%d" % [i, num], + mxgate_batch:: batch, + mxgate_extra_args+: ["--partial=" + batch], + }) + for i in std.range(1, num) + ] + ), + gate:: $.target("gate"), tier1:: $.target("tier1"), tier2:: $.target("tier2"),