From 2aa3696aa4ce780b348c88b216dd3e6f53aec63e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 16:27:31 +0100 Subject: [PATCH 01/14] feat: allow to differenciate JDKs to build depending on Jenkins version release line --- docker-bake.hcl | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/docker-bake.hcl b/docker-bake.hcl index 971dd74236..ee66067edc 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -1,8 +1,12 @@ ## Variables -variable "jdks_to_build" { +variable "lts_jdks_to_build" { default = [17, 21, 25] } +variable "weekly_jdks_to_build" { + default = [21, 25] +} + variable "default_jdk" { default = 21 } @@ -99,7 +103,7 @@ variable "current_rhel" { ## Targets target "alpine" { matrix = { - jdk = jdks_to_build + jdk = jdks_to_build() } name = "alpine_jdk${jdk}" dockerfile = "alpine/hotspot/Dockerfile" @@ -119,7 +123,7 @@ target "alpine" { target "debian" { matrix = { - jdk = jdks_to_build + jdk = jdks_to_build() variant = debian_variants } name = "${variant}_jdk${jdk}" @@ -142,7 +146,7 @@ target "debian" { target "rhel" { matrix = { - jdk = jdks_to_build + jdk = jdks_to_build() } name = "rhel_jdk${jdk}" dockerfile = "rhel/Dockerfile" @@ -198,6 +202,21 @@ group "linux-ppc64le" { } ## Common functions +# return true if JENKINS_VERSION is a Weekly (one sequence of digits with a trailing literal '.') +function "is_jenkins_version_weekly" { + # If JENKINS_VERSION has more than one sequence of digits with a trailing literal '.', this is LTS + # 2.523 has only one sequence of digits with a trailing literal '.' + # 2.516.1 has two sequences of digits with a trailing literal '.' + params = [] + result = length(regexall("[0-9]+[.]", JENKINS_VERSION)) < 2 ? true : false +} + +# return the list of jdk to build depending on JENKINS_VERSION +function "jdks_to_build" { + params = [] + result = is_jenkins_version_weekly() ? weekly_jdks_to_build : lts_jdks_to_build +} + # return a tag prefixed by the Jenkins version function "_tag_jenkins_version" { params = [tag] @@ -224,13 +243,10 @@ function "tag_lts" { # return WAR_URL if not empty, get.jenkins.io URL depending on JENKINS_VERSION release line otherwise function "war_url" { - # If JENKINS_VERSION has more than one sequence of digits with a trailing literal '.', this is LTS - # 2.523 has only one sequence of digits with a trailing literal '.' - # 2.516.1 has two sequences of digits with a trailing literal '.' params = [] result = (notequal(WAR_URL, "") ? WAR_URL - : (length(regexall("[0-9]+[.]", JENKINS_VERSION)) < 2 + : (is_jenkins_version_weekly() ? "https://get.jenkins.io/war/${JENKINS_VERSION}/jenkins.war" : "https://get.jenkins.io/war-stable/${JENKINS_VERSION}/jenkins.war")) } From cf09db91c2f296ca3e251ea1f8603b285323c2d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 16:34:14 +0100 Subject: [PATCH 02/14] update golden files --- tests/golden/expected_platforms.txt | 9 --------- tests/golden/expected_tags.txt | 4 ---- tests/golden/expected_tags_latest_lts.txt | 10 ---------- tests/golden/expected_tags_latest_weekly.txt | 10 ---------- 4 files changed, 33 deletions(-) diff --git a/tests/golden/expected_platforms.txt b/tests/golden/expected_platforms.txt index ba6a7f4b12..9cecd8e103 100644 --- a/tests/golden/expected_platforms.txt +++ b/tests/golden/expected_platforms.txt @@ -1,17 +1,11 @@ -alpine_jdk17:linux/amd64 alpine_jdk21:linux/amd64 alpine_jdk21:linux/arm64 alpine_jdk25:linux/amd64 alpine_jdk25:linux/arm64 -debian-slim_jdk17:linux/amd64 debian-slim_jdk21:linux/amd64 debian-slim_jdk21:linux/arm64 debian-slim_jdk25:linux/amd64 debian-slim_jdk25:linux/arm64 -debian_jdk17:linux/amd64 -debian_jdk17:linux/arm64 -debian_jdk17:linux/ppc64le -debian_jdk17:linux/s390x debian_jdk21:linux/amd64 debian_jdk21:linux/arm64 debian_jdk21:linux/ppc64le @@ -20,9 +14,6 @@ debian_jdk25:linux/amd64 debian_jdk25:linux/arm64 debian_jdk25:linux/ppc64le debian_jdk25:linux/s390x -rhel_jdk17:linux/amd64 -rhel_jdk17:linux/arm64 -rhel_jdk17:linux/ppc64le rhel_jdk21:linux/amd64 rhel_jdk21:linux/arm64 rhel_jdk21:linux/ppc64le diff --git a/tests/golden/expected_tags.txt b/tests/golden/expected_tags.txt index 66dae4205a..555e6bd1c7 100644 --- a/tests/golden/expected_tags.txt +++ b/tests/golden/expected_tags.txt @@ -1,15 +1,11 @@ docker.io/jenkins/jenkins:2.534 (debian_jdk21) docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25) diff --git a/tests/golden/expected_tags_latest_lts.txt b/tests/golden/expected_tags_latest_lts.txt index 4d90aa8b2c..efebc15beb 100644 --- a/tests/golden/expected_tags_latest_lts.txt +++ b/tests/golden/expected_tags_latest_lts.txt @@ -1,39 +1,29 @@ docker.io/jenkins/jenkins:2.534 (debian_jdk21) docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25) docker.io/jenkins/jenkins:2.534-lts (debian_jdk21) docker.io/jenkins/jenkins:2.534-lts-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.534-lts-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:2.534-lts-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:2.534-lts-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:2.534-lts-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25) docker.io/jenkins/jenkins:lts (debian_jdk21) docker.io/jenkins/jenkins:lts-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:lts-alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:lts-alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:lts-alpine-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:lts-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:lts-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:lts-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:lts-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:lts-slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:lts-slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:lts-slim-jdk25 (debian-slim_jdk25) diff --git a/tests/golden/expected_tags_latest_weekly.txt b/tests/golden/expected_tags_latest_weekly.txt index 5b4c64bfb6..22538ab512 100644 --- a/tests/golden/expected_tags_latest_weekly.txt +++ b/tests/golden/expected_tags_latest_weekly.txt @@ -1,36 +1,26 @@ docker.io/jenkins/jenkins:2.534 (debian_jdk21) docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25) docker.io/jenkins/jenkins:alpine (alpine_jdk21) -docker.io/jenkins/jenkins:alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:alpine-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:alpine3.23-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:alpine3.23-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:alpine3.23-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:jdk17 (debian_jdk17) docker.io/jenkins/jenkins:jdk21 (debian_jdk21) docker.io/jenkins/jenkins:jdk25 (debian_jdk25) docker.io/jenkins/jenkins:latest (debian_jdk21) -docker.io/jenkins/jenkins:latest-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:latest-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:latest-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:slim-jdk25 (debian-slim_jdk25) From c23ccd0d689b05f8110b0d857da9fd64046b8fb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 16:41:26 +0100 Subject: [PATCH 03/14] remove jdk17 from ci.jenkins.io builds (Weekly) --- Jenkinsfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6d990d50d6..6f58ec0f4a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -117,16 +117,12 @@ stage('Build') { if (!infra.isTrusted()) { def images = [ - 'alpine_jdk17', 'alpine_jdk21', 'alpine_jdk25', - 'debian_jdk17', 'debian_jdk21', 'debian_jdk25', - 'debian-slim_jdk17', 'debian-slim_jdk21', 'debian-slim_jdk25', - 'rhel_jdk17', 'rhel_jdk21', 'rhel_jdk25', ] From 8db0b9f3b6b6645adcdd8e6d1796a8a7a883bcbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= <91831478+lemeurherve@users.noreply.github.com> Date: Wed, 7 Jan 2026 18:27:38 +0100 Subject: [PATCH 04/14] Add helper comment for the list of images in Jenkinsfile --- Jenkinsfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Jenkinsfile b/Jenkinsfile index 6f58ec0f4a..ef138cd911 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -116,6 +116,7 @@ stage('Build') { } if (!infra.isTrusted()) { + // This list can be updated with: make show | jq -r '.target | keys[]' def images = [ 'alpine_jdk21', 'alpine_jdk25', From 171aaebc48f471a1333e02a48f70ea9969947770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 18:31:12 +0100 Subject: [PATCH 05/14] s/_jdks_to_build/jdks_to_build_for_/ --- docker-bake.hcl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-bake.hcl b/docker-bake.hcl index ee66067edc..d3df947429 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -1,9 +1,9 @@ ## Variables -variable "lts_jdks_to_build" { +variable "jdks_to_build_for_lts" { default = [17, 21, 25] } -variable "weekly_jdks_to_build" { +variable "jdks_to_build_for_weekly" { default = [21, 25] } @@ -214,7 +214,7 @@ function "is_jenkins_version_weekly" { # return the list of jdk to build depending on JENKINS_VERSION function "jdks_to_build" { params = [] - result = is_jenkins_version_weekly() ? weekly_jdks_to_build : lts_jdks_to_build + result = is_jenkins_version_weekly() ? jdks_to_build_for_weekly : jdks_to_build_for_lts } # return a tag prefixed by the Jenkins version From 1c70f94dba4cde082f9bc8674427ab1ec1cf6345 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 18:43:34 +0100 Subject: [PATCH 06/14] keep all JDKs in `jdks_to_build_for_weekly` in this PR (to be done as follow-up) --- docker-bake.hcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-bake.hcl b/docker-bake.hcl index d3df947429..1de0061e5b 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -4,7 +4,7 @@ variable "jdks_to_build_for_lts" { } variable "jdks_to_build_for_weekly" { - default = [21, 25] + default = [17, 21, 25] } variable "default_jdk" { From 8ebbf24b77593bc99f7ce0b77e2b37d527653b09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 18:43:50 +0100 Subject: [PATCH 07/14] Revert "remove jdk17 from ci.jenkins.io builds (Weekly)" This reverts commit c23ccd0d689b05f8110b0d857da9fd64046b8fb4. --- Jenkinsfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index ef138cd911..43d0c9fa61 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -118,12 +118,16 @@ stage('Build') { if (!infra.isTrusted()) { // This list can be updated with: make show | jq -r '.target | keys[]' def images = [ + 'alpine_jdk17', 'alpine_jdk21', 'alpine_jdk25', + 'debian_jdk17', 'debian_jdk21', 'debian_jdk25', + 'debian-slim_jdk17', 'debian-slim_jdk21', 'debian-slim_jdk25', + 'rhel_jdk17', 'rhel_jdk21', 'rhel_jdk25', ] From 53d2ac89c2bbf3a3fc0f83cfc8c8442c04b45e1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 18:44:01 +0100 Subject: [PATCH 08/14] Revert "update golden files" This reverts commit cf09db91c2f296ca3e251ea1f8603b285323c2d6. --- tests/golden/expected_platforms.txt | 9 +++++++++ tests/golden/expected_tags.txt | 4 ++++ tests/golden/expected_tags_latest_lts.txt | 10 ++++++++++ tests/golden/expected_tags_latest_weekly.txt | 10 ++++++++++ 4 files changed, 33 insertions(+) diff --git a/tests/golden/expected_platforms.txt b/tests/golden/expected_platforms.txt index 9cecd8e103..ba6a7f4b12 100644 --- a/tests/golden/expected_platforms.txt +++ b/tests/golden/expected_platforms.txt @@ -1,11 +1,17 @@ +alpine_jdk17:linux/amd64 alpine_jdk21:linux/amd64 alpine_jdk21:linux/arm64 alpine_jdk25:linux/amd64 alpine_jdk25:linux/arm64 +debian-slim_jdk17:linux/amd64 debian-slim_jdk21:linux/amd64 debian-slim_jdk21:linux/arm64 debian-slim_jdk25:linux/amd64 debian-slim_jdk25:linux/arm64 +debian_jdk17:linux/amd64 +debian_jdk17:linux/arm64 +debian_jdk17:linux/ppc64le +debian_jdk17:linux/s390x debian_jdk21:linux/amd64 debian_jdk21:linux/arm64 debian_jdk21:linux/ppc64le @@ -14,6 +20,9 @@ debian_jdk25:linux/amd64 debian_jdk25:linux/arm64 debian_jdk25:linux/ppc64le debian_jdk25:linux/s390x +rhel_jdk17:linux/amd64 +rhel_jdk17:linux/arm64 +rhel_jdk17:linux/ppc64le rhel_jdk21:linux/amd64 rhel_jdk21:linux/arm64 rhel_jdk21:linux/ppc64le diff --git a/tests/golden/expected_tags.txt b/tests/golden/expected_tags.txt index 555e6bd1c7..66dae4205a 100644 --- a/tests/golden/expected_tags.txt +++ b/tests/golden/expected_tags.txt @@ -1,11 +1,15 @@ docker.io/jenkins/jenkins:2.534 (debian_jdk21) docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25) diff --git a/tests/golden/expected_tags_latest_lts.txt b/tests/golden/expected_tags_latest_lts.txt index efebc15beb..4d90aa8b2c 100644 --- a/tests/golden/expected_tags_latest_lts.txt +++ b/tests/golden/expected_tags_latest_lts.txt @@ -1,29 +1,39 @@ docker.io/jenkins/jenkins:2.534 (debian_jdk21) docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25) docker.io/jenkins/jenkins:2.534-lts (debian_jdk21) docker.io/jenkins/jenkins:2.534-lts-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.534-lts-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:2.534-lts-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:2.534-lts-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:2.534-lts-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25) docker.io/jenkins/jenkins:lts (debian_jdk21) docker.io/jenkins/jenkins:lts-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:lts-alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:lts-alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:lts-alpine-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:lts-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:lts-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:lts-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:lts-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:lts-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:lts-slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:lts-slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:lts-slim-jdk25 (debian-slim_jdk25) diff --git a/tests/golden/expected_tags_latest_weekly.txt b/tests/golden/expected_tags_latest_weekly.txt index 22538ab512..5b4c64bfb6 100644 --- a/tests/golden/expected_tags_latest_weekly.txt +++ b/tests/golden/expected_tags_latest_weekly.txt @@ -1,26 +1,36 @@ docker.io/jenkins/jenkins:2.534 (debian_jdk21) docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25) docker.io/jenkins/jenkins:alpine (alpine_jdk21) +docker.io/jenkins/jenkins:alpine-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:alpine-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:alpine3.23-jdk17 (alpine_jdk17) docker.io/jenkins/jenkins:alpine3.23-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:alpine3.23-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:jdk17 (debian_jdk17) docker.io/jenkins/jenkins:jdk21 (debian_jdk21) docker.io/jenkins/jenkins:jdk25 (debian_jdk25) docker.io/jenkins/jenkins:latest (debian_jdk21) +docker.io/jenkins/jenkins:latest-jdk17 (debian_jdk17) docker.io/jenkins/jenkins:latest-jdk21 (debian_jdk21) docker.io/jenkins/jenkins:latest-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:rhel-ubi9-jdk17 (rhel_jdk17) docker.io/jenkins/jenkins:rhel-ubi9-jdk21 (rhel_jdk21) docker.io/jenkins/jenkins:rhel-ubi9-jdk25 (rhel_jdk25) docker.io/jenkins/jenkins:slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:slim-jdk17 (debian-slim_jdk17) docker.io/jenkins/jenkins:slim-jdk21 (debian-slim_jdk21) docker.io/jenkins/jenkins:slim-jdk25 (debian-slim_jdk25) From fe77aa72d6372ce7ac3582789a7c424f017d057b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 19:20:30 +0100 Subject: [PATCH 09/14] use a LTS `JENKINS_VERSION` for `expected_tags_latest_lts` --- tests/bake.bats | 3 +- tests/golden/expected_tags_latest_lts.txt | 48 +++++++++++------------ 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/tests/bake.bats b/tests/bake.bats index 94ff23771d..3e4e871702 100644 --- a/tests/bake.bats +++ b/tests/bake.bats @@ -6,6 +6,7 @@ load test_helpers SUT_DESCRIPTION="docker bake" +JENKINS_LTS_VERSION="2.504.3" @test "[${SUT_DESCRIPTION}: tags] Default tags unchanged" { assert_matches_golden expected_tags make --silent tags @@ -14,7 +15,7 @@ SUT_DESCRIPTION="docker bake" assert_matches_golden expected_tags_latest_weekly make --silent tags LATEST_WEEKLY=true } @test "[${SUT_DESCRIPTION}: tags] Latest LTS tags unchanged" { - assert_matches_golden expected_tags_latest_lts make --silent tags LATEST_LTS=true + assert_matches_golden expected_tags_latest_lts make --silent tags LATEST_LTS=true JENKINS_VERSION="${JENKINS_LTS_VERSION}" } @test "[${SUT_DESCRIPTION}: platforms] Platforms per target unchanged" { diff --git a/tests/golden/expected_tags_latest_lts.txt b/tests/golden/expected_tags_latest_lts.txt index 4d90aa8b2c..21a0359c96 100644 --- a/tests/golden/expected_tags_latest_lts.txt +++ b/tests/golden/expected_tags_latest_lts.txt @@ -1,27 +1,27 @@ -docker.io/jenkins/jenkins:2.534 (debian_jdk21) -docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17) -docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21) -docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17) -docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21) -docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:2.534-lts (debian_jdk21) -docker.io/jenkins/jenkins:2.534-lts-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.534-lts-jdk17 (debian_jdk17) -docker.io/jenkins/jenkins:2.534-lts-jdk21 (debian_jdk21) -docker.io/jenkins/jenkins:2.534-lts-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk17 (rhel_jdk17) -docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk21 (rhel_jdk21) -docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk25 (rhel_jdk25) -docker.io/jenkins/jenkins:2.534-lts-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17) -docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21) -docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25) -docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17) -docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25) +docker.io/jenkins/jenkins:2.504.3 (debian_jdk21) +docker.io/jenkins/jenkins:2.504.3-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.504.3-alpine-jdk17 (alpine_jdk17) +docker.io/jenkins/jenkins:2.504.3-alpine-jdk21 (alpine_jdk21) +docker.io/jenkins/jenkins:2.504.3-alpine-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:2.504.3-jdk17 (debian_jdk17) +docker.io/jenkins/jenkins:2.504.3-jdk21 (debian_jdk21) +docker.io/jenkins/jenkins:2.504.3-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:2.504.3-lts (debian_jdk21) +docker.io/jenkins/jenkins:2.504.3-lts-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.504.3-lts-jdk17 (debian_jdk17) +docker.io/jenkins/jenkins:2.504.3-lts-jdk21 (debian_jdk21) +docker.io/jenkins/jenkins:2.504.3-lts-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:2.504.3-lts-rhel-ubi9-jdk17 (rhel_jdk17) +docker.io/jenkins/jenkins:2.504.3-lts-rhel-ubi9-jdk21 (rhel_jdk21) +docker.io/jenkins/jenkins:2.504.3-lts-rhel-ubi9-jdk25 (rhel_jdk25) +docker.io/jenkins/jenkins:2.504.3-lts-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.504.3-rhel-ubi9-jdk17 (rhel_jdk17) +docker.io/jenkins/jenkins:2.504.3-rhel-ubi9-jdk21 (rhel_jdk21) +docker.io/jenkins/jenkins:2.504.3-rhel-ubi9-jdk25 (rhel_jdk25) +docker.io/jenkins/jenkins:2.504.3-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.504.3-slim-jdk17 (debian-slim_jdk17) +docker.io/jenkins/jenkins:2.504.3-slim-jdk21 (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.504.3-slim-jdk25 (debian-slim_jdk25) docker.io/jenkins/jenkins:lts (debian_jdk21) docker.io/jenkins/jenkins:lts-alpine (alpine_jdk21) docker.io/jenkins/jenkins:lts-alpine-jdk17 (alpine_jdk17) From a4c0d57c65b35768eff00c9381873dfe6188f85f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 22:39:46 +0100 Subject: [PATCH 10/14] s/JENKINS_LTS_VERSION/LTS_JENKINS_VERSION --- tests/bake.bats | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/bake.bats b/tests/bake.bats index 3e4e871702..d52e555c48 100644 --- a/tests/bake.bats +++ b/tests/bake.bats @@ -6,7 +6,7 @@ load test_helpers SUT_DESCRIPTION="docker bake" -JENKINS_LTS_VERSION="2.504.3" +LTS_JENKINS_VERSION="2.504.3" @test "[${SUT_DESCRIPTION}: tags] Default tags unchanged" { assert_matches_golden expected_tags make --silent tags @@ -15,7 +15,7 @@ JENKINS_LTS_VERSION="2.504.3" assert_matches_golden expected_tags_latest_weekly make --silent tags LATEST_WEEKLY=true } @test "[${SUT_DESCRIPTION}: tags] Latest LTS tags unchanged" { - assert_matches_golden expected_tags_latest_lts make --silent tags LATEST_LTS=true JENKINS_VERSION="${JENKINS_LTS_VERSION}" + assert_matches_golden expected_tags_latest_lts make --silent tags LATEST_LTS=true JENKINS_VERSION="${LTS_JENKINS_VERSION}" } @test "[${SUT_DESCRIPTION}: platforms] Platforms per target unchanged" { From 40b7245682f78de9aba9e50b506c37d272e72dc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 23:09:08 +0100 Subject: [PATCH 11/14] add sort like in the test of #2183 --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 43d0c9fa61..231d2305f0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -116,7 +116,7 @@ stage('Build') { } if (!infra.isTrusted()) { - // This list can be updated with: make show | jq -r '.target | keys[]' + // This list can be updated with: make show | jq -r '.target | keys[]' | sort def images = [ 'alpine_jdk17', 'alpine_jdk21', From 3757d18973338e5ab0e2c9755560dbf97b8e8202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 23:09:52 +0100 Subject: [PATCH 12/14] comment on 2 lines --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 231d2305f0..d07c107b22 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -116,7 +116,8 @@ stage('Build') { } if (!infra.isTrusted()) { - // This list can be updated with: make show | jq -r '.target | keys[]' | sort + // This list can be updated with + // make show | jq -r '.target | keys[]' | sort def images = [ 'alpine_jdk17', 'alpine_jdk21', From 46f8b62faa251ff5082b682e65ea806e9647d7dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 23:58:08 +0100 Subject: [PATCH 13/14] Revert "use a LTS `JENKINS_VERSION` for `expected_tags_latest_lts`" This reverts commit fe77aa72d6372ce7ac3582789a7c424f017d057b, extracted to https://github.com/jenkinsci/docker/pull/2184 --- tests/bake.bats | 3 +- tests/golden/expected_tags_latest_lts.txt | 48 +++++++++++------------ 2 files changed, 25 insertions(+), 26 deletions(-) diff --git a/tests/bake.bats b/tests/bake.bats index d52e555c48..94ff23771d 100644 --- a/tests/bake.bats +++ b/tests/bake.bats @@ -6,7 +6,6 @@ load test_helpers SUT_DESCRIPTION="docker bake" -LTS_JENKINS_VERSION="2.504.3" @test "[${SUT_DESCRIPTION}: tags] Default tags unchanged" { assert_matches_golden expected_tags make --silent tags @@ -15,7 +14,7 @@ LTS_JENKINS_VERSION="2.504.3" assert_matches_golden expected_tags_latest_weekly make --silent tags LATEST_WEEKLY=true } @test "[${SUT_DESCRIPTION}: tags] Latest LTS tags unchanged" { - assert_matches_golden expected_tags_latest_lts make --silent tags LATEST_LTS=true JENKINS_VERSION="${LTS_JENKINS_VERSION}" + assert_matches_golden expected_tags_latest_lts make --silent tags LATEST_LTS=true } @test "[${SUT_DESCRIPTION}: platforms] Platforms per target unchanged" { diff --git a/tests/golden/expected_tags_latest_lts.txt b/tests/golden/expected_tags_latest_lts.txt index 21a0359c96..4d90aa8b2c 100644 --- a/tests/golden/expected_tags_latest_lts.txt +++ b/tests/golden/expected_tags_latest_lts.txt @@ -1,27 +1,27 @@ -docker.io/jenkins/jenkins:2.504.3 (debian_jdk21) -docker.io/jenkins/jenkins:2.504.3-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.504.3-alpine-jdk17 (alpine_jdk17) -docker.io/jenkins/jenkins:2.504.3-alpine-jdk21 (alpine_jdk21) -docker.io/jenkins/jenkins:2.504.3-alpine-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:2.504.3-jdk17 (debian_jdk17) -docker.io/jenkins/jenkins:2.504.3-jdk21 (debian_jdk21) -docker.io/jenkins/jenkins:2.504.3-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:2.504.3-lts (debian_jdk21) -docker.io/jenkins/jenkins:2.504.3-lts-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.504.3-lts-jdk17 (debian_jdk17) -docker.io/jenkins/jenkins:2.504.3-lts-jdk21 (debian_jdk21) -docker.io/jenkins/jenkins:2.504.3-lts-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:2.504.3-lts-rhel-ubi9-jdk17 (rhel_jdk17) -docker.io/jenkins/jenkins:2.504.3-lts-rhel-ubi9-jdk21 (rhel_jdk21) -docker.io/jenkins/jenkins:2.504.3-lts-rhel-ubi9-jdk25 (rhel_jdk25) -docker.io/jenkins/jenkins:2.504.3-lts-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.504.3-rhel-ubi9-jdk17 (rhel_jdk17) -docker.io/jenkins/jenkins:2.504.3-rhel-ubi9-jdk21 (rhel_jdk21) -docker.io/jenkins/jenkins:2.504.3-rhel-ubi9-jdk25 (rhel_jdk25) -docker.io/jenkins/jenkins:2.504.3-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.504.3-slim-jdk17 (debian-slim_jdk17) -docker.io/jenkins/jenkins:2.504.3-slim-jdk21 (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.504.3-slim-jdk25 (debian-slim_jdk25) +docker.io/jenkins/jenkins:2.534 (debian_jdk21) +docker.io/jenkins/jenkins:2.534-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.534-alpine-jdk17 (alpine_jdk17) +docker.io/jenkins/jenkins:2.534-alpine-jdk21 (alpine_jdk21) +docker.io/jenkins/jenkins:2.534-alpine-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:2.534-jdk17 (debian_jdk17) +docker.io/jenkins/jenkins:2.534-jdk21 (debian_jdk21) +docker.io/jenkins/jenkins:2.534-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:2.534-lts (debian_jdk21) +docker.io/jenkins/jenkins:2.534-lts-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.534-lts-jdk17 (debian_jdk17) +docker.io/jenkins/jenkins:2.534-lts-jdk21 (debian_jdk21) +docker.io/jenkins/jenkins:2.534-lts-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk17 (rhel_jdk17) +docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk21 (rhel_jdk21) +docker.io/jenkins/jenkins:2.534-lts-rhel-ubi9-jdk25 (rhel_jdk25) +docker.io/jenkins/jenkins:2.534-lts-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk17 (rhel_jdk17) +docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk21 (rhel_jdk21) +docker.io/jenkins/jenkins:2.534-rhel-ubi9-jdk25 (rhel_jdk25) +docker.io/jenkins/jenkins:2.534-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.534-slim-jdk17 (debian-slim_jdk17) +docker.io/jenkins/jenkins:2.534-slim-jdk21 (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.534-slim-jdk25 (debian-slim_jdk25) docker.io/jenkins/jenkins:lts (debian_jdk21) docker.io/jenkins/jenkins:lts-alpine (alpine_jdk21) docker.io/jenkins/jenkins:lts-alpine-jdk17 (alpine_jdk17) From 046147da8569cab383a636bba6f3fab6086a797a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Wed, 7 Jan 2026 23:59:21 +0100 Subject: [PATCH 14/14] comment wording --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index d07c107b22..d923ed9ba3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -116,7 +116,7 @@ stage('Build') { } if (!infra.isTrusted()) { - // This list can be updated with + // This list can be updated with the following command: // make show | jq -r '.target | keys[]' | sort def images = [ 'alpine_jdk17',