From bd8dc33d0c8a1f6b90fc3707a519c7f72d36a952 Mon Sep 17 00:00:00 2001 From: George Adams Date: Thu, 10 Oct 2024 09:36:24 +0100 Subject: [PATCH 1/3] docker: switch to a bespoke test container --- buildenv/jenkins/JenkinsfileBase | 10 ++++++++-- buildenv/jenkins/openjdk_tests | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/buildenv/jenkins/JenkinsfileBase b/buildenv/jenkins/JenkinsfileBase index aa784067e7..95342e33e8 100644 --- a/buildenv/jenkins/JenkinsfileBase +++ b/buildenv/jenkins/JenkinsfileBase @@ -105,8 +105,14 @@ def setupEnv() { env.EXIT_FAILURE = params.EXIT_FAILURE ? params.EXIT_FAILURE : false env.EXIT_SUCCESS = params.EXIT_SUCCESS ? params.EXIT_SUCCESS : false NUM_MACHINES = params.NUM_MACHINES ? params.NUM_MACHINES.toInteger() : 1 - env.LIB_DIR = JOB_NAME.contains("SmokeTests") ? "${WORKSPACE}/../../../../../testDependency/lib" : "${WORKSPACE}/../../testDependency/lib" - env.SYSTEM_LIB_DIR = JOB_NAME.contains("SmokeTests") ? "${WORKSPACE}/../../../../../testDependency/system_lib" : "${WORKSPACE}/../../testDependency/system_lib" + if (CLOUD_PROVIDER == 'azure') { + // Needs to be inside the workspace as the docker container won't have permissions to write to higher level directories + env.LIB_DIR = "${WORKSPACE}/testDependency/lib" + env.SYSTEM_LIB_DIR = "${WORKSPACE}/testDependency/system_lib" + } else { + env.LIB_DIR = JOB_NAME.contains("SmokeTests") ? "${WORKSPACE}/../../../../../testDependency/lib" : "${WORKSPACE}/../../testDependency/lib" + env.SYSTEM_LIB_DIR = JOB_NAME.contains("SmokeTests") ? "${WORKSPACE}/../../../../../testDependency/system_lib" : "${WORKSPACE}/../../testDependency/system_lib" + } env.OPENJCEPLUS_GIT_REPO = params.OPENJCEPLUS_GIT_REPO ?: "https://github.com/ibmruntimes/OpenJCEPlus.git" env.OPENJCEPLUS_GIT_BRANCH = params.OPENJCEPLUS_GIT_BRANCH ?: "semeru-java${params.JDK_VERSION}" diff --git a/buildenv/jenkins/openjdk_tests b/buildenv/jenkins/openjdk_tests index 8248cce117..e76cf487e1 100644 --- a/buildenv/jenkins/openjdk_tests +++ b/buildenv/jenkins/openjdk_tests @@ -460,8 +460,8 @@ def runTest() { jenkinsfile = load "${WORKSPACE}/aqa-tests/buildenv/jenkins/JenkinsfileBase" if (LABEL.contains('ci.agent.dynamic') && CLOUD_PROVIDER.equals('azure')) { //Set dockerimage for azure agent. Fyre has stencil to setup the right environment - docker.image('adoptopenjdk/centos7_build_image').pull() - docker.image('adoptopenjdk/centos7_build_image').inside { + docker.image('ghcr.io/adoptium/test-containers:ubuntu2204').pull() + docker.image('ghcr.io/adoptium/test-containers:ubuntu2204').inside { jenkinsfile.testBuild() } } else if (dockerAgentLabel.equals('default') && LABEL.contains('&&sw.tool.docker') && SPEC.equals('linux_riscv64')) { From 6a1e0474d4b9f47eb2bcf586036fa0c5e29b108a Mon Sep 17 00:00:00 2001 From: George Adams Date: Wed, 16 Oct 2024 15:59:41 +0100 Subject: [PATCH 2/3] improve label detection --- buildenv/jenkins/openjdk_tests | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/buildenv/jenkins/openjdk_tests b/buildenv/jenkins/openjdk_tests index e76cf487e1..3ae6bdf513 100644 --- a/buildenv/jenkins/openjdk_tests +++ b/buildenv/jenkins/openjdk_tests @@ -458,8 +458,12 @@ def runTest() { } } jenkinsfile = load "${WORKSPACE}/aqa-tests/buildenv/jenkins/JenkinsfileBase" - if (LABEL.contains('ci.agent.dynamic') && CLOUD_PROVIDER.equals('azure')) { - //Set dockerimage for azure agent. Fyre has stencil to setup the right environment + // Check the node for full set of labels + def JobHelper = library(identifier: 'openjdk-jenkins-helper@master').JobHelper + def labels = JobHelper.getLabels(NODE_NAME) + + if (LABEL.contains('ci.agent.dynamic') && labels.contains('dynamicAzure')) { + // Set dockerimage for azure agent. Fyre has stencil to setup the right environment docker.image('ghcr.io/adoptium/test-containers:ubuntu2204').pull() docker.image('ghcr.io/adoptium/test-containers:ubuntu2204').inside { jenkinsfile.testBuild() From 10b606115ce980e0d1fe290ddad77e88dcc0a4eb Mon Sep 17 00:00:00 2001 From: George Adams Date: Wed, 16 Oct 2024 16:06:42 +0100 Subject: [PATCH 3/3] improve label detection --- buildenv/jenkins/openjdk_tests | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/buildenv/jenkins/openjdk_tests b/buildenv/jenkins/openjdk_tests index 3ae6bdf513..8a922252d1 100644 --- a/buildenv/jenkins/openjdk_tests +++ b/buildenv/jenkins/openjdk_tests @@ -458,11 +458,7 @@ def runTest() { } } jenkinsfile = load "${WORKSPACE}/aqa-tests/buildenv/jenkins/JenkinsfileBase" - // Check the node for full set of labels - def JobHelper = library(identifier: 'openjdk-jenkins-helper@master').JobHelper - def labels = JobHelper.getLabels(NODE_NAME) - - if (LABEL.contains('ci.agent.dynamic') && labels.contains('dynamicAzure')) { + if (LABEL.contains('ci.agent.dynamic') && CLOUD_PROVIDER.equals('azure')) { // Set dockerimage for azure agent. Fyre has stencil to setup the right environment docker.image('ghcr.io/adoptium/test-containers:ubuntu2204').pull() docker.image('ghcr.io/adoptium/test-containers:ubuntu2204').inside {