What
After discussions with @dduportal, we're proposing to publish LTS releases from their own stable branches like what is done in https://github.com/jenkinsci/packaging & https://github.com/jenkins-infra/release.
Current process of a Docker controller release on LTS publication day:
- Wait for the WAR to be available in repo.jenkin-ci.org
- Manually create an annotated tag from
master branch (by a member of @jenkinsci/team-docker-packaging), which trigger a build and publication of the image on trusted.ci.jenkins.io
- Wait for tags publication on Docker Hub
- Manually create the corresponding GitHub release in https://github.com/jenkinsci/docker
Why?
This would have the following immediate and future1 advantages:
The inconvenient is the backport hard requirement, which would have to be done when initiating the stable branch and before each LTS "point" release.
How
On LTS publication day:
* Wait for the WAR to be available in repo.jenkin-ci.org
-* Manually create an annotated tag from `master` branch (by a member of @jenkinsci/team-docker-packaging), which trigger a build and publication of the image on trusted.ci.jenkins.io
+* Manually create an annotated tag from `stable-<release-line>` branch (by a member of @jenkinsci/team-docker-packaging), which trigger a build and publication of the image on trusted.ci.jenkins.io
* Wait for tags publication on Docker Hub
* Manually create the corresponding GitHub release in https://github.com/jenkinsci/docker
Plan
For incoming LTS 2.541.1 release (2026-01-21)
On Day -1
On release day
Afterward
WDYT @jenkinsci/team-docker-packaging, @jenkinsci/jenkins-security-team, @timja (as Release Officer), @krisstern (as LTS 2.541.1 co-release lead)?
If most stakeholders are OK with this plan, I'll take care of the branch creation and backport this week.
Refs:
What
After discussions with @dduportal, we're proposing to publish LTS releases from their own stable branches like what is done in https://github.com/jenkinsci/packaging & https://github.com/jenkins-infra/release.
Current process of a Docker controller release on LTS publication day:
masterbranch (by a member of @jenkinsci/team-docker-packaging), which trigger a build and publication of the image on trusted.ci.jenkins.ioWhy?
This would have the following immediate and future1 advantages:
The inconvenient is the backport hard requirement, which would have to be done when initiating the stable branch and before each LTS "point" release.
How
On LTS publication day:
Plan
For incoming LTS 2.541.1 release (2026-01-21)
Create a
stable-2.541branch based on the commit of the 2.541 release (baseline)https://github.com/jenkinsci/docker/tree/stable-2.541
Details
Backport required changes from
mastertostable-2.541stable-<release-line>branch #2195 (comment)master(Weekly) instable-2.541for LTS 2.541.1 jenkins-infra/release#833 template changes:stable-2.541for LTS 2.541.1 packaging#728master(Weekly) instable-2.541for LTS 2.541.1 jenkins-infra/release#833Mention backports in LTS release checklist:
On Day -1
On release day
stable-2.541Details
https://github.com/jenkinsci/docker/releases/tag/2.541.1
Note: I manually attached build result metadata of Linux images to this release
Afterward
updatecliworkflow only on commits or PRs targetingmasterbranch #2215updatecliworkflow only on commits or PRs targetingmasterbranch (#2215) #2221masterbranchstable-<release-line>branch #2195 (comment)init-lts-branch.shscript to createstable-<release-line>in jenkinsci/docker tooWDYT @jenkinsci/team-docker-packaging, @jenkinsci/jenkins-security-team, @timja (as Release Officer), @krisstern (as LTS 2.541.1 co-release lead)?
If most stakeholders are OK with this plan, I'll take care of the branch creation and backport this week.
Refs:
Footnotes
I'll develop ramifications in follow-up comments/issues. ↩
Thx Captain Obvious :P ↩