Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions buildenv/jenkins/JenkinsfileBase
Original file line number Diff line number Diff line change
Expand Up @@ -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}/../../../../../externalDependency/lib" : "${WORKSPACE}/../../externalDependency/lib"
env.SYSTEM_LIB_DIR = JOB_NAME.contains("SmokeTests") ? "${WORKSPACE}/../../../../../externalDependency/system_lib" : "${WORKSPACE}/../../externalDependency/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}/externalDependency/lib"
env.SYSTEM_LIB_DIR = "${WORKSPACE}/externalDependency/system_lib"
} else {
env.LIB_DIR = JOB_NAME.contains("SmokeTests") ? "${WORKSPACE}/../../../../../externalDependency/lib" : "${WORKSPACE}/../../externalDependency/lib"
env.SYSTEM_LIB_DIR = JOB_NAME.contains("SmokeTests") ? "${WORKSPACE}/../../../../../externalDependency/system_lib" : "${WORKSPACE}/../../externalDependency/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}"
env.PARALLEL = env.PARALLEL ? params.PARALLEL : "None"
Expand Down Expand Up @@ -802,9 +808,11 @@ def runTest( ) {
}
for (int i = 1; i <= ITERATIONS; i++) {
echo "ITERATION: ${i}/${ITERATIONS}"
if (env.SPEC.contains('linux') && !(LABEL.contains('ci.agent.dynamic') && CLOUD_PROVIDER == 'azure') && (BUILD_LIST != "external")) {
if (env.SPEC.contains('linux') && (BUILD_LIST != "external")) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this change work for CLOUD_PROVIDER=fyre, EBC?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have to defer to someone who knows about how we integrate with those systems more than I do.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having said that, I doubt they'd be using CLOUD_PROVIDER=azure so it shouldn't affect those scenarios.

// Detect if Xvfb is on the machine, and if not use the wayland startup code (Initially for EL10)
if ( sh(script:"which Xvfb 2>&1", returnStatus:true) != 0 ) {
env.XDG_RUNTIME_DIR = env.WORKSPACE + "/.xdg-runtime"
sh "mkdir -pm 0700 " + env.XDG_RUNTIME_DIR
sh "mkdir -p -m 1777 /tmp/.X11-unix"
sh "weston --no-config --socket=wayland-vfb --backend=headless-backend.so --xwayland &"
env.DISPLAY = ":0"
Expand Down
6 changes: 3 additions & 3 deletions buildenv/jenkins/openjdk_tests
Original file line number Diff line number Diff line change
Expand Up @@ -551,9 +551,9 @@ 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 {
// Set dockerimage for azure agent. Fyre has stencil to setup the right environment
docker.image('ghcr.io/adoptium/test-containers:ubi10').pull()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we start from ubuntu2404, which is more popular and open?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably also point at the other named dir, adoptium_test_image, as discussed to avoid confusion around the test-containers product.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we start from ubuntu2404, which is more popular and open?

Why do you consider UBI10 to not be open? We have both images so either can work here, although for this initial prototype I chose the potentially more awkward one (UBI10 uses weston instead of Xvfb) to ensure we spot any errors.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably also point at the other named dir, adoptium_test_image, as discussed to avoid confusion around the test-containers product.

Yeah as discussed that's a good idea in the future, but this should be considered an initial pass to see how it works and so I wouldn't wish to block merging of this PR and it's testing on going back and republishing images at this stage.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree, both this and container selection can be future revisions.

docker.image('ghcr.io/adoptium/test-containers:ubi10').inside {
jenkinsfile.testBuild()
}
} else if (dockerAgentLabel.equals('default') && LABEL.contains('&&sw.tool.docker') && SPEC.equals('linux_riscv64')) {
Expand Down