1- # To process this file using Jsonnet commandline interpreter
2- # Use the following command: jsonnet .ci/ci.jsonnet
1+ # This file is rendered into JSON with:
2+ #
3+ # sjsonnet .ci/ci.jsonnet
4+ #
5+ # See: https://github.com/databricks/sjsonnet/releases
36
4- # https://github.com/graalvm/labs-openjdk/blob/master/doc/testing.md
7+ # JDK tests to run
58local run_test_spec = 'test/hotspot/jtreg/compiler/jvmci test/jdk/tools/jlink/plugins/SaveJlinkArgfilesPluginTest.java' ;
69
7-
810local common = import 'common.libsonnet' ;
911
1012{
@@ -33,7 +35,7 @@ local common = import 'common.libsonnet';
3335 notify_emails: [defs.build_failure_notify],
3436 publishArtifacts: [
3537 {
36- name: 'jdk-%s-%s-%s_tlda' % [release.name, major_java_version, release.version ],
38+ name: 'jdk-%s-%s-%s_tlda' % [release.name, major_java_version, release.build ],
3739 dir: '.' ,
3840 patterns: [prebuild_artifact_url],
3941 },
@@ -55,7 +57,7 @@ local common = import 'common.libsonnet';
5557 '--fingerprint=' + 'prebuild.fingerprint' ,
5658 '--graalvm-version=%s' % release.name,
5759 '--check-exists' ,
58- release.version ,
60+ release.build ,
5961 'labsjdk-ee' ,
6062 'jdk_tlda' ,
6163 ],
@@ -64,7 +66,7 @@ local common = import 'common.libsonnet';
6466 },
6567
6668
67- # Creates a builder object.
69+ # Creates a builder object. This builds all variants (i.e. jdk, llvm and static libs).
6870 #
6971 # number major_java_version: major Java version (e.g. 25)
7072 # string edition: "ce" or "ee"
@@ -165,7 +167,7 @@ local common = import 'common.libsonnet';
165167
166168 local requireTLDAArtifacts = if edition == 'ee' then [
167169 {
168- name: 'jdk-%s-%s-%s_tlda' % [release.name, major_java_version, release.version ],
170+ name: 'jdk-%s-%s-%s_tlda' % [release.name, major_java_version, release.build ],
169171 dir: '.' ,
170172 },
171173 ] else [],
@@ -180,7 +182,7 @@ local common = import 'common.libsonnet';
180182 '--log=' + if os == 'windows' then 'info' else 'warn' ,
181183 '--java-major-version=' + major_java_version,
182184 '--java-build-number=' + build_number,
183- '--jvmci-version=' + release.version ,
185+ '--jvmci-version=' + release.build ,
184186 '--boot-jdk=${BOOT_JDK}' ,
185187 '--patches=' + jdk_src_dir + '/patches.tar.gz' ,
186188 '--clean-after-build' ,
@@ -267,7 +269,7 @@ local common = import 'common.libsonnet';
267269 ] + static_libs_platforms(major_java_version, release, defs), # For building musl boot JDKs
268270
269271 SourceBuild(java_version, release, defs):: common.LinuxAMD64(defs, java_version) + common.AMD64 + common.OCI + common.DefaultBootJDK + common.Packages + common.mxDependencies + {
270- local jvmci_build_number = release.version ,
272+ local jvmci_build_number = release.build ,
271273 local repo_name = 'labsjdk-ee' ,
272274 local jdk_conf_name = 'linux-x86_64-server-release' ,
273275 local src_bundle_suffixes = ['' , '-security' ],
@@ -305,21 +307,21 @@ local common = import 'common.libsonnet';
305307 '--enable-jvm-feature-shenandoahgc' ,
306308 '--with-version-build=${JAVA_VERSION_BUILD}' ,
307309 '--with-version-pre=' ,
308- '--with-version-opt=LTS-jvmci-' + release.name + '-' + release.version ,
310+ '--with-version-opt=LTS-jvmci-' + release.name + '-' + release.build ,
309311 ],
310312 ['make' , 'source' ],
311313 ] +
312314 [self .copy_source_bundle(suffix) for suffix in src_bundle_suffixes] +
313315 [
314316 ['zip' , '-ur' , '../results/jdk-${JAVA_VERSION}+${JAVA_VERSION_BUILD}_src.zip' , '$BUILD_MAIN/closed/make/conf/*' ],
315- ['tar' , 'czf' , '../' + 'labsjdk-ee-${JAVA_VERSION}+${JAVA_VERSION_BUILD}-jvmci-%s-%s-${SNAPSHOT_ID}-src.tar.gz' % [release.name, release.version ], '../results' ],
317+ ['tar' , 'czf' , '../' + 'labsjdk-ee-${JAVA_VERSION}+${JAVA_VERSION_BUILD}-jvmci-%s-%s-${SNAPSHOT_ID}-src.tar.gz' % [release.name, release.build ], '../results' ],
316318 ['cd' , '$JDK_SOURCE/jvmci' ],
317319 ] +
318320 [self .unzip_source_bundle(suffix) for suffix in src_bundle_suffixes] +
319321 [
320322 [ 'sh' , 'configure' ,
321323 '--with-version-pre=' ,
322- '--with-version-opt=jvmci-' + release.version ,
324+ '--with-version-opt=jvmci-' + release.build ,
323325 '--with-devkit=$DEVKIT_ROOT' ,
324326 '--with-boot-jdk=$BOOT_JDK' ,
325327 '--with-version-build=${JAVA_VERSION_BUILD}' ,
@@ -330,10 +332,10 @@ local common = import 'common.libsonnet';
330332 ['make' , 'images' , 'static-libs-bundles' ],
331333 [
332334 'artifact_uploader.py' ,
333- '../' + 'labsjdk-ee-${JAVA_VERSION}+${JAVA_VERSION_BUILD}-jvmci-%s-%s-${SNAPSHOT_ID}-src.tar.gz' % [release.name, release.version ],
334- 'labsjdk/' + 'labsjdk-ee-${JAVA_VERSION}+${JAVA_VERSION_BUILD}-jvmci-%s-%s-${SNAPSHOT_ID}-src.tar.gz' % [release.name, release.version ],
335+ '../' + 'labsjdk-ee-${JAVA_VERSION}+${JAVA_VERSION_BUILD}-jvmci-%s-%s-${SNAPSHOT_ID}-src.tar.gz' % [release.name, release.build ],
336+ 'labsjdk/' + 'labsjdk-ee-${JAVA_VERSION}+${JAVA_VERSION_BUILD}-jvmci-%s-%s-${SNAPSHOT_ID}-src.tar.gz' % [release.name, release.build ],
335337 'labsjdk' ,
336- '--version' , '${JAVA_VERSION}+${JAVA_VERSION_BUILD}-jvmci-%s-%s-${SNAPSHOT_ID}' % [release.name, release.version ],
338+ '--version' , '${JAVA_VERSION}+${JAVA_VERSION_BUILD}-jvmci-%s-%s-${SNAPSHOT_ID}' % [release.name, release.build ],
337339 '--jdk' , java_version + '' ,
338340 '--revision' , ['git' , '-C' , '$JDK_SOURCE/' + repo_name + '/open' , 'rev-parse' , 'HEAD' ],
339341 '--edition' , 'ee' ,
@@ -361,75 +363,8 @@ local common = import 'common.libsonnet';
361363 ],
362364 },
363365
364- CreateGraalIntegrationPR(release, defs):: common.Linux + common.AMD64 + common.OCI {
365- name: 'graal-integration-automation-release-%s' % release.name,
366- targets: ['ondemand' ],
367- notify_emails: [defs.build_failure_notify],
368- packages+: {
369- 'pip:requests' : '2.25.1' ,
370- 'pip:python-dateutil' : '2.8.2' ,
371- },
372- capabilities+: ['e4_36_256' ],
373- docker: {
374- image: defs.linux_docker_image_amd64,
375- },
376- python_version: '3' ,
377- run: common.clone_labsjdk_builder(defs, false ) + [
378- ['set-export' , 'BUILD_MAIN' , '$PWD' ],
379- ['cp' , '${LABSJDK_BUILDER_DIR}/update_ci_imports.py' , '.' ],
380- ['cp' , '${LABSJDK_BUILDER_DIR}/util.py' , '.' ],
381- ['cp' , '${LABSJDK_BUILDER_DIR}/snapshot_id.py' , '.' ],
382- ['cp' , '${LABSJDK_BUILDER_DIR}/release_labsjdks.py' , '.' ],
383- ['git' , 'config' , '--global' , 'user.email' , defs.ol_automation_user],
384- ['git' , 'config' , '--global' , 'user.name' , 'ol-automation_ww' ],
385- ['git' , 'clone' , '--config' , 'core.autocrlf=input' , '--branch' , 'master' , '--quiet' , defs.graal_url, '$BUILD_MAIN/graal' ],
386- ['git' , 'clone' , '--config' , 'core.autocrlf=input' , '--branch' , 'master' , '--quiet' , defs.graal_enterprise_url, '$BUILD_MAIN/graal-enterprise' ],
387- ['git' , 'clone' , '--config' , 'core.autocrlf=input' , '--branch' , 'master' , '--quiet' , defs.graalos_url, '$BUILD_MAIN/graalos' ],
388- ['git' , 'clone' , '--config' , 'core.autocrlf=input' , '--quiet' , defs.buildbot_ci_url, '$BUILD_MAIN/buildbot-ci' ],
389-
390- [ 'python3' , '-u' , '${LABSJDK_BUILDER_DIR}/graal_automation.py' ,
391- '--buildbot-ci-path' , '$BUILD_MAIN/buildbot-ci/pr_creator.py' ,
392- '--graal-path' , '$BUILD_MAIN/graal' ,
393- '--graal-enterprise-path' , '$BUILD_MAIN/graal-enterprise' ,
394- '--graalos-path' , '$BUILD_MAIN/graalos' ,
395- '--target-branch' , 'master' ,
396- '--candidate-jvmci-release' , '%s' % release.candidate_jvmci_release,
397- '--reviewers' , defs.graal_prs_default_reviewers + ',' + '${BLAME_LIST}' ,
398- ],
399- ],
400- },
401-
402- GraalDeployAutomationJob(release, defs):: common.Linux + common.AMD64 + common.OCI {
403- name: 'labsjdk-deploy-automation-release-%s' % release.name,
404- targets: ['ondemand' ],
405- notify_emails: [defs.build_failure_notify],
406- packages+: {
407- 'pip:requests' : '2.25.1' ,
408- 'pip:python-dateutil' : '2.8.2' ,
409- },
410- docker: {
411- image: defs.linux_docker_image_amd64,
412- },
413- capabilities+: ['e4_36_256' ],
414- python_version: '3' ,
415- run: common.clone_labsjdk_builder(defs, false ) + [
416- ['set-export' , 'BUILD_MAIN' , '$PWD' ],
417- ['set-export' , 'HTTP_HTTPS_PROXY' , defs.proxy_url],
418- ['cp' , '${LABSJDK_BUILDER_DIR}/release_labsjdks.py' , '.' ],
419- ['cp' , '${LABSJDK_BUILDER_DIR}/util.py' , '.' ],
420- ['cp' , '${LABSJDK_BUILDER_DIR}/snapshot_id.py' , '.' ],
421-
422- ['python3' , '-u' , '${LABSJDK_BUILDER_DIR}/deploy_automation.py' ,
423- '--graal-workdir' , '$BUILD_MAIN' ,
424- '--candidate-jvmci-release' , '%s' % release.candidate_jvmci_release,
425- '--graal-integration-branch' , 'master' ,
426- '--allow-missing' , 'patches' ,
427- '--upload-ce-artifact' , '%s' % release.github_upload_labsjdk_ce,
428- '--pass-snapshots-file' , 'true' ,
429- ],
430- ],
431- },
432-
366+ # Only used by gate jobs to test that building labsjdk works.
367+ # It omits builds of static libs and llvm and also does no uploading.
433368 BuildValidation(defs, conf, is_musl_build, graalvm_version):: conf + setupJDKSources(conf) + (if is_musl_build then common.MuslBootJDK else common.DefaultBootJDK) + {
434369 name: 'gate-build-jdk' + conf.name,
435370 timelimit: '3:00:00' , # Windows is the long pole
@@ -456,11 +391,7 @@ local common = import 'common.libsonnet';
456391 run+: (if !is_musl_build then [
457392 # Checks that each devkit mentioned in this file corresponds to a devkit in make/conf/jib-profiles.js
458393 ['python3' , '-u' , conf.path('${PWD}/.ci/check_devkit_versions.py' )],
459- ] else []) + [
460- ['set-export' , 'LABSJDK_BUILDER_DIR' , conf.path('${PWD}/../labsjdk-builder' )],
461- ['git' , 'clone' , '--quiet' , '--config' , 'core.autocrlf=input' , defs.labsjdk_builder_url, '${LABSJDK_BUILDER_DIR}' ],
462- ['git' , '-C' , '${LABSJDK_BUILDER_DIR}' , 'checkout' , common.labsjdk_builder_version],
463-
394+ ] else []) + common.clone_labsjdk_builder(defs, conf.os == 'windows' ) + [
464395 # This restricts cygwin to be on the PATH only while using jib.
465396 # It must not be on the PATH when building Graal.
466397 ['set-export' , 'OLD_PATH' , '${PATH}' ],
@@ -484,14 +415,13 @@ local common = import 'common.libsonnet';
484415 common.LinuxDockerAMD64Musl(defs),
485416 ],
486417
487- DefineBuilds(defs):: [self .BuildValidation(defs, conf, is_musl_build=false , graalvm_version=25.1 ) for conf in build_confs(defs)] +
488- [self .BuildValidation(defs, conf, is_musl_build=true , graalvm_version=25.1 ) for conf in amd64_musl_confs(defs)],
418+ DefineBuilds(defs)::
419+ [self .BuildValidation(defs, conf, is_musl_build=false , graalvm_version=25.1 ) for conf in build_confs(defs)] +
420+ [self .BuildValidation(defs, conf, is_musl_build=true , graalvm_version=25.1 ) for conf in amd64_musl_confs(defs)],
489421
490422 CreateBuilds(major_java_version, releases, defs)::
491423 [self .Prebuild(major_java_version, release, defs) for release in releases] +
492- [self .SourceBuild(major_java_version, release, defs) for release in releases] +
493- [self .CreateGraalIntegrationPR(release, defs) for release in releases] +
494- [self .GraalDeployAutomationJob(release, defs) for release in releases]
424+ [self .SourceBuild(major_java_version, release, defs) for release in releases]
495425
496426 + produce_builds(major_java_version, releases, false , false , defs)
497427 + produce_builds(major_java_version, releases, true , false , defs)
0 commit comments