From ff18d7a9a0cc47fcc2e5cd206dbb3c5579ffe217 Mon Sep 17 00:00:00 2001 From: Sophia Guo Date: Tue, 6 Feb 2024 09:08:00 -0500 Subject: [PATCH] Release dry run job Signed-off-by: Sophia Guo --- pipelines/build/common/build_base_file.groovy | 62 +++++++++++++++++-- .../configurations/jdk11u_evaluation.groovy | 12 ++-- .../jdk11u_pipeline_config.groovy | 23 +++++-- tools/reproduce_comparison/Jenkinsfile | 1 - 4 files changed, 82 insertions(+), 16 deletions(-) diff --git a/pipelines/build/common/build_base_file.groovy b/pipelines/build/common/build_base_file.groovy index 00696d57c..f3dd8054e 100644 --- a/pipelines/build/common/build_base_file.groovy +++ b/pipelines/build/common/build_base_file.groovy @@ -770,11 +770,6 @@ class Builder implements Serializable { Call job to push artifacts to github. Usually it's only executed on a nightly build */ def publishBinary() { - if (release) { - // make sure to skip on release - context.println('Not publishing release') - return - } def timestamp = new Date().format('yyyy-MM-dd-HH-mm', TimeZone.getTimeZone('UTC')) def tag = "${javaToBuild}-${timestamp}" @@ -817,6 +812,55 @@ class Builder implements Serializable { } } + /* + Call job to dry run Release Publish, generate release publish jenkins links + */ + def dryrunReleasePublish() { + //Max # of builds to keep is 50, should be set large, as it's shared between nightly and releases https://ci.adoptium.net/job/build-scripts/job/release/job/refactor_openjdk_release_tool/configure + def javaVersion=determineReleaseToolRepoVersion() + def releaseSummary = manager.createSummary("yellow_anime.gif") + releaseSummary.appendText("PUBLISH BINARY LINKS::", false) + } + } + /* Main function. This is what is executed remotely via the [release-|evaluation-]openjdkxx-pipeline and pr-tester jobs Running in the *openjdkX-pipeline @@ -989,7 +1033,13 @@ class Builder implements Serializable { throw new Exception("[ERROR] Publish binary timeout (${pipelineTimeouts.PUBLISH_ARTIFACTS_TIMEOUT} HOURS) has been reached OR the downstream publish job failed. Exiting...") } } else if (publish && release) { - context.println 'NOT PUBLISHING RELEASE AUTOMATICALLY' + try { + context.timeout(time: pipelineTimeouts.PUBLISH_ARTIFACTS_TIMEOUT, unit: 'HOURS') { + dryrunReleasePublish() + } + } catch (FlowInterruptedException e) { + throw new Exception("[ERROR] Dry run release publish timeout (${pipelineTimeouts.PUBLISH_ARTIFACTS_TIMEOUT} HOURS) has been reached OR the downstream publish job failed. Exiting...") + } } } } diff --git a/pipelines/jobs/configurations/jdk11u_evaluation.groovy b/pipelines/jobs/configurations/jdk11u_evaluation.groovy index 3b850339b..11384ca00 100644 --- a/pipelines/jobs/configurations/jdk11u_evaluation.groovy +++ b/pipelines/jobs/configurations/jdk11u_evaluation.groovy @@ -2,6 +2,9 @@ targetConfigurations = [ 'aarch64Windows': [ 'temurin' + ], + 'riscv64Linux': [ + 'hotspot' ] // 'x64Mac' : [ // 'openj9' @@ -33,13 +36,14 @@ targetConfigurations = [ // ] ] -// if set to empty string then it wont get triggered -triggerSchedule_evaluation = '' -// if set to empty string then it wont get triggered -triggerSchedule_weekly_evaluation= '' +// 11:30 Tue, Thu +triggerSchedule_evaluation = 'TZ=UTC\n30 11 * * 2,4' +// 23:05 Sun +triggerSchedule_weekly_evaluation = 'TZ=UTC\n05 23 * * 7' // scmReferences to use for weekly evaluation build weekly_evaluation_scmReferences = [ + 'hotspot' : '', 'temurin' : '', 'openj9' : '', 'corretto' : '', diff --git a/pipelines/jobs/configurations/jdk11u_pipeline_config.groovy b/pipelines/jobs/configurations/jdk11u_pipeline_config.groovy index 6b14e7935..c82f4511f 100644 --- a/pipelines/jobs/configurations/jdk11u_pipeline_config.groovy +++ b/pipelines/jobs/configurations/jdk11u_pipeline_config.groovy @@ -180,27 +180,40 @@ class Config11 { riscv64Linux : [ os : 'linux', + arch : 'riscv64', dockerImage : [ + 'hotspot' : 'adoptopenjdk/ubuntu2004_build_image:linux-riscv64', 'openj9' : 'adoptopenjdk/centos6_build_image', 'bisheng' : 'adoptopenjdk/centos6_build_image' ], - arch : 'riscv64', + dockerArgs : [ + 'hotspot' : '--platform linux/riscv64' + ], crossCompile : [ + 'hotspot' : 'dockerhost-rise-ubuntu2204-aarch64-1', 'openj9' : 'x64', 'bisheng' : 'x64' ], buildArgs : [ + 'hotspot' : '--create-sbom', 'openj9' : '--cross-compile', - 'bisheng' : '--cross-compile --branch risc-v', - 'temurin' : '--create-sbom' + 'bisheng' : '--cross-compile --branch risc-v' ], configureArgs : [ + 'hotspot' : '--enable-headless-only=yes --enable-dtrace', 'openj9' : '--disable-ddr --openjdk-target=riscv64-unknown-linux-gnu --with-sysroot=/opt/fedora28_riscv_root', 'bisheng' : '--openjdk-target=riscv64-unknown-linux-gnu --with-sysroot=/opt/fedora28_riscv_root --with-jvm-features=shenandoahgc' ], test : [ - nightly: ['sanity.openjdk'], - weekly : ['sanity.openjdk', 'sanity.system', 'extended.system', 'sanity.perf'] + 'hotspot' : 'default', + 'openj9' : [ + nightly: ['sanity.openjdk'], + weekly : ['sanity.openjdk', 'sanity.system', 'extended.system', 'sanity.perf'] + ], + 'bisheng' : [ + nightly: ['sanity.openjdk'], + weekly : ['sanity.openjdk', 'sanity.system', 'extended.system', 'sanity.perf'] + ] ], ], diff --git a/tools/reproduce_comparison/Jenkinsfile b/tools/reproduce_comparison/Jenkinsfile index 6f8de8222..ad0b9d49e 100644 --- a/tools/reproduce_comparison/Jenkinsfile +++ b/tools/reproduce_comparison/Jenkinsfile @@ -4,7 +4,6 @@ Jenkins job does reproducible build compare. import groovy.json.JsonOutput env.NODE_LABEL = 'worker' - pipeline { agent none parameters {