diff --git a/Jenkinsfile b/Jenkinsfile index 0b35e990cf..f2bdbfbca2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -67,12 +67,31 @@ stage('Build') { * the Dockerfile in this repository, but not publishing to docker hub */ stage("Build ${imageType}") { - powershell './make.ps1 build -ImageType ${env:IMAGE_TYPE}' + // JDK21 only + powershell ''' + (Get-Content docker-bake.hcl -Raw) -replace '(variable\\s+"jdks_to_build"\\s*{\\s*default\\s*=\\s*)\\[[^\\]]*\\]', '$1[21]' | Set-Content docker-bake.hcl + ./make.ps1 build -ImageType ${env:IMAGE_TYPE} -OverwriteDockerComposeFile + ''' + + // JDK25 only + powershell ''' + (Get-Content docker-bake.hcl -Raw) -replace '(variable\\s+"jdks_to_build"\\s*{\\s*default\\s*=\\s*)\\[[^\\]]*\\]', '$1[25]' | Set-Content docker-bake.hcl + ./make.ps1 build -ImageType ${env:IMAGE_TYPE} -OverwriteDockerComposeFile + ''' + archiveArtifacts artifacts: 'build-windows_*.yaml', allowEmptyArchive: true } stage("Test ${imageType}") { - def windowsTestStatus = powershell(script: './make.ps1 test -ImageType ${env:IMAGE_TYPE}', returnStatus: true) + def windowsTestStatus = powershell( + script: ''' + (Get-Content docker-bake.hcl -Raw) -replace '(variable\\s+"jdks_to_build"\\s*{\\s*default\\s*=\\s*)\\[[^\\]]*\\]', '$1[21]' | Set-Content docker-bake.hcl + ./make.ps1 test -ImageType ${env:IMAGE_TYPE} -OverwriteDockerComposeFile + (Get-Content docker-bake.hcl -Raw) -replace '(variable\\s+"jdks_to_build"\\s*{\\s*default\\s*=\\s*)\\[[^\\]]*\\]', '$1[25]' | Set-Content docker-bake.hcl + ./make.ps1 test -ImageType ${env:IMAGE_TYPE} -OverwriteDockerComposeFile + ''', + returnStatus: true + ) junit(allowEmptyResults: true, keepLongStdio: true, testResults: 'target/**/junit-results.xml') if (windowsTestStatus > 0) { // If something bad happened let's clean up the docker images @@ -104,7 +123,18 @@ stage('Build') { stage('Publish') { infra.withDockerCredentials { withEnv(['DOCKERHUB_ORGANISATION=jenkins', 'DOCKERHUB_REPO=jenkins']) { - powershell './make.ps1 build -ImageType ${env:IMAGE_TYPE}' + // JDK21 only + powershell ''' + (Get-Content docker-bake.hcl -Raw) -replace '(variable\\s+"jdks_to_build"\\s*{\\s*default\\s*=\\s*)\\[[^\\]]*\\]', '$1[21]' | Set-Content docker-bake.hcl + ''' + powershell './make.ps1 build -ImageType ${env:IMAGE_TYPE} -OverwriteDockerComposeFile' + powershell './make.ps1 publish -ImageType ${env:IMAGE_TYPE}' + + // JDK25 only + powershell ''' + (Get-Content docker-bake.hcl -Raw) -replace '(variable\\s+"jdks_to_build"\\s*{\\s*default\\s*=\\s*)\\[[^\\]]*\\]', '$1[25]' | Set-Content docker-bake.hcl + ''' + powershell './make.ps1 build -ImageType ${env:IMAGE_TYPE} -OverwriteDockerComposeFile' powershell './make.ps1 publish -ImageType ${env:IMAGE_TYPE}' } } diff --git a/alpine/hotspot/Dockerfile b/alpine/hotspot/Dockerfile index a7af13026f..9f35ce57c2 100644 --- a/alpine/hotspot/Dockerfile +++ b/alpine/hotspot/Dockerfile @@ -41,7 +41,7 @@ RUN java_major_version="$(jlink --version 2>&1 | cut -c1-2)"; \ fi # Jenkins version being bundled in this docker image -ARG JENKINS_VERSION=2.571 +ARG JENKINS_VERSION=2.572 # Can be used to customize where jenkins.war get downloaded from ARG WAR_URL=https://get.jenkins.io/war/${JENKINS_VERSION}/jenkins.war @@ -137,7 +137,7 @@ COPY jenkins-support /usr/local/bin/jenkins-support COPY jenkins.sh /usr/local/bin/jenkins.sh COPY jenkins-plugin-cli.sh /bin/jenkins-plugin-cli -ARG JENKINS_VERSION=2.571 +ARG JENKINS_VERSION=2.572 ENV JENKINS_VERSION=${JENKINS_VERSION} ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/jenkins.sh"] diff --git a/debian/Dockerfile b/debian/Dockerfile index d357fc38f5..d74eb9285b 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -45,7 +45,7 @@ RUN java_major_version="$(jlink --version 2>&1 | cut -c1-2)"; \ fi # Jenkins version being bundled in this docker image -ARG JENKINS_VERSION=2.571 +ARG JENKINS_VERSION=2.572 # Can be used to customize where jenkins.war get downloaded from ARG WAR_URL=https://get.jenkins.io/war/${JENKINS_VERSION}/jenkins.war @@ -151,7 +151,7 @@ COPY jenkins-support /usr/local/bin/jenkins-support COPY jenkins.sh /usr/local/bin/jenkins.sh COPY jenkins-plugin-cli.sh /bin/jenkins-plugin-cli -ARG JENKINS_VERSION=2.571 +ARG JENKINS_VERSION=2.572 ENV JENKINS_VERSION=${JENKINS_VERSION} ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/jenkins.sh"] diff --git a/docker-bake.hcl b/docker-bake.hcl index 632ac050d6..bbc4b9422a 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -12,7 +12,7 @@ variable "default_jdk" { } variable "JENKINS_VERSION" { - default = "2.571" + default = "2.572" } variable "WAR_URL" { diff --git a/make.ps1 b/make.ps1 index 05345ca3aa..e25adcea81 100644 --- a/make.ps1 +++ b/make.ps1 @@ -4,7 +4,7 @@ Param( # Default script target [String] $Target = 'build', # Jenkins version to include - [String] $JenkinsVersion = '2.571', + [String] $JenkinsVersion = '2.572', # Windows flavor and windows version to build [String] $ImageType = 'windowsservercore-ltsc2022', # Generate a docker compose file even if it already exists diff --git a/rhel/Dockerfile b/rhel/Dockerfile index f1db24f9ef..c2e07daef1 100644 --- a/rhel/Dockerfile +++ b/rhel/Dockerfile @@ -40,7 +40,7 @@ RUN java_major_version="$(jlink --version 2>&1 | cut -c1-2)"; \ fi # Jenkins version being bundled in this docker image -ARG JENKINS_VERSION=2.571 +ARG JENKINS_VERSION=2.572 # Can be used to customize where jenkins.war get downloaded from ARG WAR_URL=https://get.jenkins.io/war/${JENKINS_VERSION}/jenkins.war @@ -141,7 +141,7 @@ COPY jenkins-support /usr/local/bin/jenkins-support COPY jenkins.sh /usr/local/bin/jenkins.sh COPY jenkins-plugin-cli.sh /bin/jenkins-plugin-cli -ARG JENKINS_VERSION=2.571 +ARG JENKINS_VERSION=2.572 ENV JENKINS_VERSION=${JENKINS_VERSION} ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/jenkins.sh"] diff --git a/tests/golden/expected_env_vars_except_hostname.txt b/tests/golden/expected_env_vars_except_hostname.txt index bfff8f0b0d..4403c8310c 100644 --- a/tests/golden/expected_env_vars_except_hostname.txt +++ b/tests/golden/expected_env_vars_except_hostname.txt @@ -6,7 +6,7 @@ JENKINS_INCREMENTALS_REPO_MIRROR=https://repo.jenkins-ci.org/incrementals JENKINS_SLAVE_AGENT_PORT=50000 JENKINS_UC=https://updates.jenkins.io JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental -JENKINS_VERSION=2.571 +JENKINS_VERSION=2.572 LANG=C.UTF-8 PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ diff --git a/tests/golden/expected_tags.txt b/tests/golden/expected_tags.txt index f08637b9f9..64e1a6d8b2 100644 --- a/tests/golden/expected_tags.txt +++ b/tests/golden/expected_tags.txt @@ -1,17 +1,17 @@ -docker.io/jenkins/jenkins:2.571 (debian_jdk21) -docker.io/jenkins/jenkins:2.571-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.571-alpine-jdk21 (alpine_jdk21) -docker.io/jenkins/jenkins:2.571-alpine-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:2.571-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) -docker.io/jenkins/jenkins:2.571-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) -docker.io/jenkins/jenkins:2.571-jdk21 (debian_jdk21) -docker.io/jenkins/jenkins:2.571-jdk21-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) -docker.io/jenkins/jenkins:2.571-jdk21-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) -docker.io/jenkins/jenkins:2.571-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:2.571-jdk25-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk25) -docker.io/jenkins/jenkins:2.571-jdk25-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk25) -docker.io/jenkins/jenkins:2.571-rhel-ubi9-jdk21 (rhel_jdk21) -docker.io/jenkins/jenkins:2.571-rhel-ubi9-jdk25 (rhel_jdk25) -docker.io/jenkins/jenkins:2.571-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.571-slim-jdk21 (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.571-slim-jdk25 (debian-slim_jdk25) +docker.io/jenkins/jenkins:2.572 (debian_jdk21) +docker.io/jenkins/jenkins:2.572-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.572-alpine-jdk21 (alpine_jdk21) +docker.io/jenkins/jenkins:2.572-alpine-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:2.572-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) +docker.io/jenkins/jenkins:2.572-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) +docker.io/jenkins/jenkins:2.572-jdk21 (debian_jdk21) +docker.io/jenkins/jenkins:2.572-jdk21-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) +docker.io/jenkins/jenkins:2.572-jdk21-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) +docker.io/jenkins/jenkins:2.572-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:2.572-jdk25-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk25) +docker.io/jenkins/jenkins:2.572-jdk25-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk25) +docker.io/jenkins/jenkins:2.572-rhel-ubi9-jdk21 (rhel_jdk21) +docker.io/jenkins/jenkins:2.572-rhel-ubi9-jdk25 (rhel_jdk25) +docker.io/jenkins/jenkins:2.572-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.572-slim-jdk21 (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.572-slim-jdk25 (debian-slim_jdk25) diff --git a/tests/golden/expected_tags_latest_weekly.txt b/tests/golden/expected_tags_latest_weekly.txt index 3fac28d1fd..508b705783 100644 --- a/tests/golden/expected_tags_latest_weekly.txt +++ b/tests/golden/expected_tags_latest_weekly.txt @@ -1,22 +1,22 @@ -docker.io/jenkins/jenkins:2.571 (debian_jdk21) -docker.io/jenkins/jenkins:2.571-alpine (alpine_jdk21) -docker.io/jenkins/jenkins:2.571-alpine-jdk21 (alpine_jdk21) -docker.io/jenkins/jenkins:2.571-alpine-jdk25 (alpine_jdk25) -docker.io/jenkins/jenkins:2.571-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) -docker.io/jenkins/jenkins:2.571-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) -docker.io/jenkins/jenkins:2.571-jdk21 (debian_jdk21) -docker.io/jenkins/jenkins:2.571-jdk21-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) -docker.io/jenkins/jenkins:2.571-jdk21-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) -docker.io/jenkins/jenkins:2.571-jdk25 (debian_jdk25) -docker.io/jenkins/jenkins:2.571-jdk25-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk25) -docker.io/jenkins/jenkins:2.571-jdk25-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk25) -docker.io/jenkins/jenkins:2.571-rhel-ubi9-jdk21 (rhel_jdk21) -docker.io/jenkins/jenkins:2.571-rhel-ubi9-jdk25 (rhel_jdk25) -docker.io/jenkins/jenkins:2.571-slim (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.571-slim-jdk21 (debian-slim_jdk21) -docker.io/jenkins/jenkins:2.571-slim-jdk25 (debian-slim_jdk25) -docker.io/jenkins/jenkins:2.571-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) -docker.io/jenkins/jenkins:2.571-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) +docker.io/jenkins/jenkins:2.572 (debian_jdk21) +docker.io/jenkins/jenkins:2.572-alpine (alpine_jdk21) +docker.io/jenkins/jenkins:2.572-alpine-jdk21 (alpine_jdk21) +docker.io/jenkins/jenkins:2.572-alpine-jdk25 (alpine_jdk25) +docker.io/jenkins/jenkins:2.572-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) +docker.io/jenkins/jenkins:2.572-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) +docker.io/jenkins/jenkins:2.572-jdk21 (debian_jdk21) +docker.io/jenkins/jenkins:2.572-jdk21-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) +docker.io/jenkins/jenkins:2.572-jdk21-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) +docker.io/jenkins/jenkins:2.572-jdk25 (debian_jdk25) +docker.io/jenkins/jenkins:2.572-jdk25-hotspot-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk25) +docker.io/jenkins/jenkins:2.572-jdk25-hotspot-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk25) +docker.io/jenkins/jenkins:2.572-rhel-ubi9-jdk21 (rhel_jdk21) +docker.io/jenkins/jenkins:2.572-rhel-ubi9-jdk25 (rhel_jdk25) +docker.io/jenkins/jenkins:2.572-slim (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.572-slim-jdk21 (debian-slim_jdk21) +docker.io/jenkins/jenkins:2.572-slim-jdk25 (debian-slim_jdk25) +docker.io/jenkins/jenkins:2.572-windowsservercore-ltsc2022 (windowsservercore-ltsc2022_jdk21) +docker.io/jenkins/jenkins:2.572-windowsservercore-ltsc2025 (windowsservercore-ltsc2025_jdk21) docker.io/jenkins/jenkins:alpine (alpine_jdk21) docker.io/jenkins/jenkins:alpine-jdk21 (alpine_jdk21) docker.io/jenkins/jenkins:alpine-jdk25 (alpine_jdk25) diff --git a/windows/windowsservercore/hotspot/Dockerfile b/windows/windowsservercore/hotspot/Dockerfile index 33c06a7b8b..578c43d4bf 100644 --- a/windows/windowsservercore/hotspot/Dockerfile +++ b/windows/windowsservercore/hotspot/Dockerfile @@ -53,7 +53,7 @@ RUN New-Item -ItemType Directory -Path C:/temp | Out-Null ; ` Remove-Item -Path C:\temp -Recurse | Out-Null # Jenkins version being bundled in this docker image -ARG JENKINS_VERSION=2.571 +ARG JENKINS_VERSION=2.572 # Can be used to customize where jenkins.war get downloaded from ARG WAR_URL=https://get.jenkins.io/war/${JENKINS_VERSION}/jenkins.war ENV WAR_URL=${WAR_URL} @@ -145,7 +145,7 @@ COPY jenkins.ps1 C:/ProgramData/Jenkins # See https://github.com/jenkinsci/plugin-installation-manager-tool#cli-options for information on parameters for jenkins-plugin-cli.ps1 for installing plugins into the docker image COPY jenkins-plugin-cli.ps1 C:/ProgramData/Jenkins -ARG JENKINS_VERSION=2.571 +ARG JENKINS_VERSION=2.572 ENV JENKINS_VERSION=${JENKINS_VERSION} ENTRYPOINT ["powershell.exe", "-f", "C:/ProgramData/Jenkins/jenkins.ps1"]