diff --git a/graal-common.json b/graal-common.json index ff531355ef01..fd828c1ab605 100644 --- a/graal-common.json +++ b/graal-common.json @@ -1,6 +1,6 @@ { "README": "This file contains definitions that are useful for the jsonnet CI files of the graal and graal-enterprise repositories.", "ci": { - "overlay": "a661d2fe42f118faf07caa881ced6566201e068c" + "overlay": "2f0084a8ab476f991f50132e1879a925efb0d596" } } diff --git a/tools/ci/ci.jsonnet b/tools/ci/ci.jsonnet index fa3e96448120..c83abeed7e13 100644 --- a/tools/ci/ci.jsonnet +++ b/tools/ci/ci.jsonnet @@ -25,10 +25,11 @@ local tools_gate = gate_guard + tools_common + common.deps.eclipse + common.deps.jdt + common.deps.spotbugs + { name: 'gate-tools-oracle' + self.jdk_name + '-' + self.os + '-' + self.arch, run: [["mx", "--strict-compliance", "gate", "--strict-mode"]], - targets: ["gate"], + targets: [if (self.jdk_name == "jdk-latest") then "tier2" else "tier3"], guard+: { includes+: ["**.jsonnet"], - } + }, + notify_groups:: ["tools"], }, local tools_weekly = tools_common + { @@ -48,7 +49,8 @@ ["mx", "build"], ["mx", "javadoc"], ], - targets: ["gate"] + targets: ["tier1"], + notify_groups:: ["tools"], }, local coverage_whitelisting = [ diff --git a/vm/ci/ci_common/common.jsonnet b/vm/ci/ci_common/common.jsonnet index c580010412ac..00bb2d32efa7 100644 --- a/vm/ci/ci_common/common.jsonnet +++ b/vm/ci/ci_common/common.jsonnet @@ -577,7 +577,7 @@ local devkits = graal_common.devkits; # # Gates # - vm.vm_java_Latest + graal_common.deps.eclipse + graal_common.deps.jdt + graal_common.deps.spotbugs + self.vm_base('linux', 'amd64', 'gate') + galahad.exclude + { + vm.vm_java_Latest + graal_common.deps.eclipse + graal_common.deps.jdt + graal_common.deps.spotbugs + self.vm_base('linux', 'amd64', 'tier1') + galahad.exclude + { run: [ ['mx', 'gate', '-B=--force-deprecation-as-warning', '--tags', 'style,fullbuild'], ], diff --git a/vm/ci/ci_includes/vm-native.jsonnet b/vm/ci/ci_includes/vm-native.jsonnet index 586587c24fdd..4160c12569e3 100644 --- a/vm/ci/ci_includes/vm-native.jsonnet +++ b/vm/ci/ci_includes/vm-native.jsonnet @@ -11,7 +11,7 @@ local graal_common = import '../../../ci/ci_common/common.jsonnet'; notify_groups: ["truffle"], components+: ["truffletck"], timelimit: '35:00', - name: self.targets[0] + '-vm-truffle-native-tck-labs' + self.jdk_name + '-linux-amd64', + name: 'gate-vm-truffle-native-tck-labs' + self.jdk_name + '-linux-amd64', logs+: [ "*/call_tree.txt.gz" ] @@ -24,7 +24,7 @@ local graal_common = import '../../../ci/ci_common/common.jsonnet'; notify_groups: ["wasm"], components+: ["truffletck"], timelimit: '35:00', - name: self.targets[0] + '-vm-truffle-native-tck-wasm-labs' + self.jdk_name + '-linux-amd64', + name: 'gate-vm-truffle-native-tck-wasm-labs' + self.jdk_name + '-linux-amd64', }, local truffle_maven_downloader = graal_common.deps.svm + graal_common.deps.sulong + { @@ -37,20 +37,21 @@ local graal_common = import '../../../ci/ci_common/common.jsonnet'; packages+: { maven: '==3.5.3', }, - name: self.targets[0] + '-vm-ce-truffle-maven-downloader-labs' + self.jdk_name + '-linux-amd64', + name: 'gate-vm-ce-truffle-maven-downloader-labs' + self.jdk_name + '-linux-amd64', }, local builds = [ - vm.vm_java_Latest + graal_common.deps.svm + graal_common.deps.sulong + graal_common.deps.graalpy + vm.custom_vm + vm_common.vm_base('linux', 'amd64', 'gate') + { + vm.vm_java_Latest + graal_common.deps.svm + graal_common.deps.sulong + graal_common.deps.graalpy + vm.custom_vm + vm_common.vm_base('linux', 'amd64', 'tier3') + { run+: [ ['mx', '--env', vm.edition, '--native-images=true', '--dy', 'graalpython', 'gate', '-B--targets=GRAALPY_NATIVE_STANDALONE', '--no-warning-as-error', '--tags', 'build,python'], ], + notify_groups: ["python"], timelimit: '45:00', name: 'gate-vm-native-graalpython-linux-amd64', }, - vm.vm_java_Latest + vm_common.vm_base('linux', 'amd64', 'gate') + truffle_native_tck, - vm.vm_java_Latest + vm_common.vm_base('linux', 'amd64', 'gate') + truffle_native_tck_wasm, - vm.vm_java_Latest + vm_common.vm_base('linux', 'amd64', 'gate') + truffle_maven_downloader, + vm.vm_java_Latest + vm_common.vm_base('linux', 'amd64', 'tier3') + truffle_native_tck, + vm.vm_java_Latest + vm_common.vm_base('linux', 'amd64', 'tier3') + truffle_native_tck_wasm, + vm.vm_java_Latest + vm_common.vm_base('linux', 'amd64', 'tier3') + truffle_maven_downloader, ], builds: utils.add_defined_in(builds, std.thisFile), diff --git a/vm/ci/ci_includes/vm.jsonnet b/vm/ci/ci_includes/vm.jsonnet index d793fb11da68..37d1ebd6a458 100644 --- a/vm/ci/ci_includes/vm.jsonnet +++ b/vm/ci/ci_includes/vm.jsonnet @@ -86,23 +86,7 @@ local graal_common = import '../../../ci/ci_common/common.jsonnet'; }, local builds = [ - utils.add_gate_predicate(self.vm_java_Latest + vm_common.vm_base('linux', 'amd64', 'gate') + { - run: [ - ['mx', 'build'], - ['mx', 'unittest', '--suite', 'vm'], - ], - name: 'gate-vm-unittest-linux-amd64', - timelimit: '30:00', - }, ['sdk', 'truffle', 'vm']), - utils.add_gate_predicate(self.vm_java_Latest + graal_common.devkits['windows-jdkLatest'] + vm_common.vm_base('windows', 'amd64', 'gate') + { - run: [ - ['mx', 'build'], - ['mx', 'unittest', '--suite', 'vm'], - ], - name: 'gate-vm-unittest-windows-amd64', - timelimit: '30:00', - }, ["sdk", "truffle", "vm"]), - self.vm_java_Latest + vm_common.vm_base('linux', 'amd64', 'gate') + graal_common.deps.sulong + { + self.vm_java_Latest + vm_common.vm_base('linux', 'amd64', 'post-merge') + graal_common.deps.sulong + { environment+: { DYNAMIC_IMPORTS: '/tools,/substratevm,/sulong', NATIVE_IMAGES: 'polyglot', @@ -111,32 +95,24 @@ local graal_common = import '../../../ci/ci_common/common.jsonnet'; ['rm', '-rf', '../.git'], ['mx', 'gate', '--strict-mode', '--tags', 'build'], ], - name: 'gate-vm-build-without-vcs-linux-amd64', + name: 'post-merge-vm-build-without-vcs-linux-amd64', timelimit: '30:00', + notify_groups:: ['deploy'], }, # Linux/AMD64 - vm_common.graalvm_complete_build_deps('ce', 'linux', 'amd64', java_version='latest') + vm_common.linux_deploy + vm_common.vm_base('linux', 'amd64', 'gate') + vm_common.maven_deploy_base_functions.base_object('linux', 'amd64', dry_run=true, remote_mvn_repo=$.maven_deploy_repository, remote_non_mvn_repo=$.binaries_repository, local_repo='local', other_platforms=['linux-aarch64', 'darwin-aarch64', 'windows-amd64']) + { - name: 'gate-vm-maven-dry-run-linux-amd64', - timelimit: '1:00:00', - }, vm_common.graalvm_complete_build_deps('ce', 'linux', 'amd64', java_version='latest') + vm_common.linux_deploy + vm_common.vm_base('linux', 'amd64', 'daily', deploy=true) + vm_common.maven_deploy_base_functions.base_object('linux', 'amd64', dry_run=false, remote_mvn_repo=$.maven_deploy_repository, remote_non_mvn_repo=$.binaries_repository, local_repo='local') + { name: 'daily-deploy-vm-maven-linux-amd64', timelimit: '1:00:00', notify_groups:: ['deploy'], }, # Linux/AARCH64 - vm_common.graalvm_complete_build_deps('ce', 'linux', 'aarch64', java_version='latest') + vm_common.linux_deploy + vm_common.vm_base('linux', 'aarch64', 'gate') + vm_common.maven_deploy_base_functions.base_object('linux', 'aarch64', dry_run=true, remote_mvn_repo=$.maven_deploy_repository, remote_non_mvn_repo=$.binaries_repository, local_repo='local') + { - name: 'gate-vm-maven-dry-run-linux-aarch64', - timelimit: '1:00:00', - }, vm_common.graalvm_complete_build_deps('ce', 'linux', 'aarch64', java_version='latest') + vm_common.linux_deploy + vm_common.vm_base('linux', 'aarch64', 'daily', deploy=true) + vm_common.maven_deploy_base_functions.base_object('linux', 'aarch64', dry_run=false, remote_mvn_repo=$.maven_deploy_repository, remote_non_mvn_repo=$.binaries_repository, local_repo='local') + { name: 'daily-deploy-vm-maven-linux-aarch64', timelimit: '1:00:00', notify_groups:: ['deploy'], }, # Darwin/AMD64 - # We do not have a gate that executes a dry-run of Maven deployment for darwin/amd64. We just rely on the daily job defined below. vm_common.graalvm_complete_build_deps('ce', 'darwin', 'amd64', java_version='latest') + vm_common.darwin_deploy + vm_common.vm_base('darwin', 'amd64', 'daily', deploy=true, jdk_hint='Latest') + vm_common.maven_deploy_base_functions.base_object('darwin', 'amd64', dry_run=false, remote_mvn_repo=$.maven_deploy_repository, remote_non_mvn_repo=$.binaries_repository, local_repo='local') + { name: 'daily-deploy-vm-maven-darwin-amd64', capabilities+: ['darwin_bigsur'], @@ -144,11 +120,6 @@ local graal_common = import '../../../ci/ci_common/common.jsonnet'; notify_groups:: ['deploy'], }, # Darwin/AARCH64 - vm_common.graalvm_complete_build_deps('ce', 'darwin', 'aarch64', java_version='latest') + vm_common.darwin_deploy + vm_common.vm_base('darwin', 'aarch64', 'gate') + vm_common.maven_deploy_base_functions.base_object('darwin', 'aarch64', dry_run=true, remote_mvn_repo=$.maven_deploy_repository, remote_non_mvn_repo=$.binaries_repository, local_repo='local') + { - name: 'gate-vm-maven-dry-run-darwin-aarch64', - capabilities+: ['darwin_bigsur'], - timelimit: '1:00:00', - }, vm_common.graalvm_complete_build_deps('ce', 'darwin', 'aarch64', java_version='latest') + vm_common.darwin_deploy + vm_common.vm_base('darwin', 'aarch64', 'daily', deploy=true) + vm_common.maven_deploy_base_functions.base_object('darwin', 'aarch64', dry_run=false, remote_mvn_repo=$.maven_deploy_repository, remote_non_mvn_repo=$.binaries_repository, local_repo='local') + { name: 'daily-deploy-vm-maven-darwin-aarch64', capabilities+: ['darwin_bigsur'], @@ -156,10 +127,6 @@ local graal_common = import '../../../ci/ci_common/common.jsonnet'; notify_groups:: ['deploy'], }, # Windows/AMD64 - vm_common.graalvm_complete_build_deps('ce', 'windows', 'amd64', java_version='latest') + vm_common.deploy_build + vm_common.vm_base('windows', 'amd64', 'gate') + vm_common.maven_deploy_base_functions.base_object('windows', 'amd64', dry_run=true, remote_mvn_repo=$.maven_deploy_repository, remote_non_mvn_repo=$.binaries_repository, local_repo='local') + { - name: 'gate-vm-maven-dry-run-windows-amd64', - timelimit: '1:00:00', - }, vm_common.graalvm_complete_build_deps('ce', 'windows', 'amd64', java_version='latest') + vm_common.deploy_build + vm_common.vm_base('windows', 'amd64', 'daily', deploy=true, jdk_hint='Latest') + vm_common.maven_deploy_base_functions.base_object('windows', 'amd64', dry_run=false, remote_mvn_repo=$.maven_deploy_repository, remote_non_mvn_repo=$.binaries_repository, local_repo='local') + { name: 'daily-deploy-vm-maven-windows-amd64', timelimit: '1:00:00',