jenkinsci / docker

Docker official jenkins repo
https://hub.docker.com/r/jenkins/jenkins
MIT License
6.55k stars 4.47k forks source link

Remove Java 11 images on weekly release line #1890

Open basil opened 3 weeks ago

basil commented 3 weeks ago

As of 2.463, weekly releases will require Java 17 or newer; as a result, the Java 11 images should be retired on the weekly release line.

Java 11 images should remain available on the LTS release line until October 2024.

lemeurherve commented 3 weeks ago

Note that removing Java 11 will also mean the removal of the Almalinux 11 image: https://github.com/jenkinsci/docker/blob/ab63f1f4763a201c6a779f0abc04d6176890b3d2/docker-bake.hcl#L5

lemeurherve commented 3 weeks ago

I opened https://github.com/jenkinsci/docker/pull/1891 to remove Java 11 images from the weekly release line while keeping them in the LTS one.

I also added a mechanism to easily simulate on ci.jenkins.io a LTS build.

With this we just have to replay a build and set SIMULATE_LTS_BUILD to true so the build runs with additional environment variables defining a Jenkins version (the latest LTS) with 3 groups of digits corresponding to the LTS versioning pattern, and with image publication disabled out of caution even if publication happens only on trusted.ci.jenkins.io.

See the distinct commits in the pull request.

I can open two separate pull requests if deemed preferable, but as this code may very well be disposed all together when Java 17 will be required in all release lines I think it can be published as it is.

I tested the different parts of these changes locally and on ci.jenkins.io but not on trusted.ci.jenkins.io yet.

@jenkinsci/team-docker-packaging any idea/suggestion how could I test these changes on trusted.ci.jenkins.io? Replay an existing tag job with publication steps commented out somehow?

dduportal commented 3 weeks ago

@jenkinsci/team-docker-packaging any idea/suggestion how could I test these changes on trusted.ci.jenkins.io? Replay an existing tag job with publication steps commented out somehow?

I would run the script .ci/publish.sh with the variables https://github.com/jenkinsci/docker/blob/ab63f1f4763a201c6a779f0abc04d6176890b3d2/.ci/publish.sh#L12-L13 set to non existing org. and image name on your machine with the GIT_TAG env var (as you showed me in private) set up outside.

hervelemeur commented 3 weeks ago

OK, this test is already done and shown in the pull request body under the ".ci/publish.sh" details section.

dduportal commented 3 weeks ago

OK, this test is already done and shown in the pull request body under the ".ci/publish.sh" details section.

Thanks! I took time to review the PR, it looks really great. Really good job, and the timing is 👌🏽

lemeurherve commented 3 weeks ago

Pull request (and hotfix #1892 for the updatecli manifests) merged, build on primary branch OK.

@dduportal and I will monitor the weekly release next week and the next LTS in July.

basil commented 3 weeks ago

Thank you very much!

lemeurherve commented 1 week ago

I also noticed that rhel8 image will have the same fate than the Almalinux one (only JDK11).

@jenkinsci/team-docker-packaging should an issue be created like https://github.com/jenkinsci/docker/issues/1894?

timja commented 1 week ago

not needed afaik its been discussed and agreed before from what I remember, the maintainer of the RHEL images said ubi9 should be used for new ones.