This PR removes the Java 11 images from the weekly release line by using new images definitions containing Java 11 for LTS release line until Java 17 is required on every lines. ("linux-lts-with-jdk11" docker bake target & "build-windows-lts-with-jdk11.yaml" docker compose file)
See https://github.com/jenkinsci/docker/pull/1891/commits/97c732b4eae040616900a3707c425a85447b6492
This PR removes the Java 11 images from the weekly release line by using new images definitions containing Java 11 for LTS release line until Java 17 is required on every lines. ("linux-lts-with-jdk11" docker bake target & "build-windows-lts-with-jdk11.yaml" docker compose file) See https://github.com/jenkinsci/docker/pull/1891/commits/97c732b4eae040616900a3707c425a85447b6492
It also add a mechanism to easily simulate a LTS build on ci.jenkins.io (with images publication disabled out of caution even if it happens on trusted.ci.jenkins.io) by setting in a replay
SIMULATE_LTS_BUILD
totrue
. See https://github.com/jenkinsci/docker/pull/1891/commits/dcbd563bad436ccdbae596cd68acfdb36548ed59?w=1We can remove this code after Java 11 EOL.
Notes:
Fixes:
1890
Testing done
Local tests
.ci/publis.sh
```console $ JENKINS_VERSION=2.442 make publish ./.ci/publish.sh Using the following settings: * JENKINS_REPO: jenkins/jenkins * JENKINS_VERSION: 2.442 * JENKINS_SHA: b0bc35b59ca923629cc440d79bebfa78d67cd0448c7a485168fc2719ac445e7b * COMMIT_SHA: dbc09a35f9008b00ed98e23de8a7598c5e1cb074 * LATEST_WEEKLY: false * LATEST_LTS: false * TARGET: linux #0 building with "desktop-linux" instance using docker driver <...> $ JENKINS_VERSION=2.452.1 make publish ./.ci/publish.sh Using the following settings: * JENKINS_REPO: jenkins/jenkins * JENKINS_VERSION: 2.452.1 * JENKINS_SHA: d9ec867a35987b545c82ed0df5d2240ac208a8d06e065e9cdb869464f3b87a56 * COMMIT_SHA: dbc09a35f9008b00ed98e23de8a7598c5e1cb074 * LATEST_WEEKLY: false * LATEST_LTS: true * TARGET: linux-lts-with-jdk11 #0 building with "desktop-linux" instance using docker driver <...> ```"list" make function used by other make targets
With the same main architecture as agents: ```console $ ARCH=amd64 TARGET=linux make list + make --silent show + jq -r '.target | path(.. | select(.platforms[] | contains("linux/amd64"))?) | add' #1 [internal] load local bake definitions #1 reading docker-bake.hcl 10.42kB / 10.42kB done #1 DONE 0.0s alpine_jdk17 alpine_jdk21 debian_jdk17 debian_jdk21 debian_slim_jdk17 debian_slim_jdk21 rhel_ubi9_jdk17 rhel_ubi9_jdk21 $ ARCH=amd64 TARGET=linux-lts-with-jdk11 make list + make --silent show + jq -r '.target | path(.. | select(.platforms[] | contains("linux/amd64"))?) | add' #1 [internal] load local bake definitions #1 reading docker-bake.hcl 10.42kB / 10.42kB done #1 DONE 0.0s almalinux_jdk11 alpine_jdk21 debian_jdk11 debian_jdk17 debian_jdk21 debian_slim_jdk21 rhel_ubi8_jdk11 rhel_ubi9_jdk17 rhel_ubi9_jdk21 ```
Build tests depending on the bake target
With second call failing as expected: ```console $ ARCH=amd64 TARGET=linux-lts-with-jdk11 make build-debian_jdk11
make.ps1
```console $ pwsh make.ps1 -JenkinsVersion 2.442 -DryRun = PREPARE: List of jenkins4eval/jenkins images and tags to be processed: name: jenkinsci-docker services: jdk17: build: context: /Users/veve/j-infra/jenkinsci-docker dockerfile: ./windows/windowsservercore/hotspot/Dockerfile args: COMMIT_SHA: dcbd563bad436ccdbae596cd68acfdb36548ed59 JAVA_HOME: C:/openjdk-17 JAVA_VERSION: 17.0.11_9 JENKINS_SHA: B0BC35B59CA923629CC440D79BEBFA78D67CD0448C7A485168FC2719AC445E7B JENKINS_VERSION: "2.442" TOOLS_WINDOWS_VERSION: "1809" WINDOWS_VERSION: ltsc2019 tags: - jenkins4eval/jenkins:2.442-jdk17-hotspot-windowsservercore-ltsc2019 - jenkins4eval/jenkins:2.442-windowsservercore-ltsc2019 - jenkins4eval/jenkins:windowsservercore-ltsc2019 image: jenkins4eval/jenkins:jdk17-hotspot-windowsservercore-ltsc2019 networks: default: null jdk21: build: context: /Users/veve/j-infra/jenkinsci-docker dockerfile: ./windows/windowsservercore/hotspot/Dockerfile args: COMMIT_SHA: dcbd563bad436ccdbae596cd68acfdb36548ed59 JAVA_HOME: C:/openjdk-21 JAVA_VERSION: 21.0.3_9 JENKINS_SHA: B0BC35B59CA923629CC440D79BEBFA78D67CD0448C7A485168FC2719AC445E7B JENKINS_VERSION: "2.442" TOOLS_WINDOWS_VERSION: "1809" WINDOWS_VERSION: ltsc2019 tags: - jenkins4eval/jenkins:2.442-jdk21-hotspot-windowsservercore-ltsc2019 - jenkins4eval/jenkins:2.442-windowsservercore-ltsc2019 - jenkins4eval/jenkins:windowsservercore-ltsc2019 image: jenkins4eval/jenkins:jdk21-hotspot-windowsservercore-ltsc2019 networks: default: null networks: default: name: jenkinsci-docker_default = BUILD: Building all images... (dry-run) docker-compose --file=build-windows.yaml build --parallel --pull = BUILD: Finished building all images. Build finished successfully ``` ```console $ pwsh make.ps1 -JenkinsVersion 2.452.1 -DryRun = PREPARE: List of jenkins4eval/jenkins images and tags to be processed: name: jenkinsci-docker services: jdk11: build: context: /Users/veve/j-infra/jenkinsci-docker dockerfile: ./windows/windowsservercore/hotspot/Dockerfile args: COMMIT_SHA: dcbd563bad436ccdbae596cd68acfdb36548ed59 JAVA_HOME: C:/openjdk-11 JAVA_VERSION: 11.0.23_9 JENKINS_SHA: D9EC867A35987B545C82ED0DF5D2240AC208A8D06E065E9CDB869464F3B87A56 JENKINS_VERSION: 2.452.1 TOOLS_WINDOWS_VERSION: "1809" WINDOWS_VERSION: ltsc2019 tags: - jenkins4eval/jenkins:2.452.1-jdk11-hotspot-windowsservercore-ltsc2019 image: jenkins4eval/jenkins:lts-jdk11-hotspot-windowsservercore-ltsc2019 networks: default: null jdk17: build: context: /Users/veve/j-infra/jenkinsci-docker dockerfile: ./windows/windowsservercore/hotspot/Dockerfile args: COMMIT_SHA: dcbd563bad436ccdbae596cd68acfdb36548ed59 JAVA_HOME: C:/openjdk-17 JAVA_VERSION: 17.0.11_9 JENKINS_SHA: D9EC867A35987B545C82ED0DF5D2240AC208A8D06E065E9CDB869464F3B87A56 JENKINS_VERSION: 2.452.1 TOOLS_WINDOWS_VERSION: "1809" WINDOWS_VERSION: ltsc2019 tags: - jenkins4eval/jenkins:2.452.1-jdk17-hotspot-windowsservercore-ltsc2019 - jenkins4eval/jenkins:2.452.1-windowsservercore-ltsc2019 - jenkins4eval/jenkins:lts-windowsservercore-ltsc2019 image: jenkins4eval/jenkins:lts-jdk17-hotspot-windowsservercore-ltsc2019 networks: default: null jdk21: build: context: /Users/veve/j-infra/jenkinsci-docker dockerfile: ./windows/windowsservercore/hotspot/Dockerfile args: COMMIT_SHA: dcbd563bad436ccdbae596cd68acfdb36548ed59 JAVA_HOME: C:/openjdk-21 JAVA_VERSION: 21.0.3_9 JENKINS_SHA: D9EC867A35987B545C82ED0DF5D2240AC208A8D06E065E9CDB869464F3B87A56 JENKINS_VERSION: 2.452.1 TOOLS_WINDOWS_VERSION: "1809" WINDOWS_VERSION: ltsc2019 tags: - jenkins4eval/jenkins:2.452.1-jdk21-hotspot-windowsservercore-ltsc2019 - jenkins4eval/jenkins:2.452.1-windowsservercore-ltsc2019 - jenkins4eval/jenkins:lts-windowsservercore-ltsc2019 image: jenkins4eval/jenkins:lts-jdk21-hotspot-windowsservercore-ltsc2019 networks: default: null networks: default: name: jenkinsci-docker_default = BUILD: Building all images... (dry-run) docker-compose --file=build-windows-lts-with-jdk11.yaml build --parallel --pull = BUILD: Finished building all images. Build finished successfully ```On ci.jenkins.io
SIMULATE_LTS_BUILD
totrue
:Submitter checklist