Skip to content

Backport from master to stable-2.541 for LTS 2.541.2#2258

Merged
lemeurherve merged 10 commits intojenkinsci:stable-2.541from
lemeurherve:stable-2.541_backport-deps-and-tooling
Feb 15, 2026
Merged

Backport from master to stable-2.541 for LTS 2.541.2#2258
lemeurherve merged 10 commits intojenkinsci:stable-2.541from
lemeurherve:stable-2.541_backport-deps-and-tooling

Conversation

@lemeurherve
Copy link
Member

@lemeurherve lemeurherve commented Feb 15, 2026

LTS 2.541.2 release date: 2026-02-18

Dependencies backport

Tooling backport

List of considered commits
  • (2026-01-20) 5eef795 - Bump default JENKINS_VERSION to Weekly 2.547 (#2208) / github-actions[bot] [labels: skip-changelog,dependencies,jenkins-version]
  • (2026-01-20) 4bd9193 - Fix a few documentation typos (#2223) / Mark Waite [labels: documentation]
  • (2026-01-23) 9c532f5 - chore(github): keep only .github managed by dependabot (#2229) / Hervé Le Meur [labels: skip-changelog,chore,github_actions]
  • (2026-01-23) 541ccb9 - Bump simulated LTS JENKINS_VERSION to 2.541.1 (#2202) / github-actions[bot] [labels: skip-changelog,dependencies,jenkins-version]
  • (2026-01-24) 6cffb85 - chore(github): replace sync-plugin-manager GitHub Action workflow by an updatecli manifest (#2232) / Hervé Le Meur [labels: skip-changelog,chore,updatecli,github_actions]
  • (2026-01-24) 1180511 - chore(bake): remove Weekly/LTS differenciations (#2228) / Hervé Le Meur [labels: chore,bake]
  • (2026-01-24) 857d526 - chore: verify WAR signature when downloading it (#2233) / Hervé Le Meur [labels: chore,into-lts,release-version:2.548,release-version:2.541.2]
  • (2026-01-24) cc3802f - chore(updatecli): adapt jenkins-version manifest (#2234) / Hervé Le Meur [labels: skip-changelog,chore,updatecli]
  • (2026-01-27) 0a5a2f0 - chore(windows/make.ps1) ensure Pester is only installed as user (instead of system) (#2236) / Damien Duportal [labels: chore,into-lts,release-version:2.541.2]
  • (2026-01-27) f50eb4b - Bump RHEL version to 9.7-1769057030 (#2235) / github-actions[bot] [labels: dependencies,rhel,into-lts,release-version:2.541.2]
  • (2026-01-27) 47386f4 - Bump default JENKINS_VERSION to Weekly 2.548 (#2237) / github-actions[bot] [labels: skip-changelog,dependencies,jenkins-version]
  • (2026-01-29) 1734d8a - chore: add skip-changelog label to dependabot PRs related to GHA (#2239) / Hervé Le Meur [labels: skip-changelog,chore,github_actions]
  • (2026-01-29) 79f1830 - Bump Alpine Linux Version to 3.23.3 (#2240) / github-actions[bot] [labels: dependencies,alpine,into-lts,release-version:2.541.2]
  • (2026-02-02) cff1812 - chore: Bump JDK25 version for Linux images in the docker-bake.hcl file (#2241) / github-actions[bot] [labels: dependencies,jdk25,into-lts,release-version:2.541.2]
  • (2026-02-04) cfc8723 - Bump default JENKINS_VERSION to Weekly 2.549 (#2244) / github-actions[bot] [labels: skip-changelog,dependencies,jenkins-version]
  • (2026-02-04) b01790f - chore: Bump JDK21 version for Linux images in the docker-bake.hcl file (#2243) / github-actions[bot] [labels: dependencies,jdk21,into-lts,release-version:2.541.2]
  • (2026-02-04) 8a90863 - Use plugin installation manager tool 2.14.0 (#2245) / Mark Waite [labels: enhancement,release-version:2.550]
  • (2026-02-05) e8cf46b - Bump JDK17 version to 17.0.18+8 (#2247) / github-actions[bot] [labels: dependencies,jdk17,into-lts,release-version:2.541.2]
  • (2026-02-05) 17ddac1 - Bump RHEL version to 9.7-1770238273 (#2248) / github-actions[bot] [labels: dependencies,rhel,into-lts,release-version:2.541.2]
  • (2026-02-13) 3957ba1 - fix: prevent images publication if not latest Weekly or LTS (#2252) / Hervé Le Meur [labels: bug]
  • (2026-02-14) beb071b - Bump default JENKINS_VERSION to Weekly 2.550 (#2253) / github-actions[bot] [labels: skip-changelog,dependencies,jenkins-version]
  • (2026-02-14) 99b71d6 - Revert "fix: prevent images publication if not latest Weekly or LTS (#2252)" (#2257) / Hervé Le Meur [labels: bug]
  • (2026-02-14) 2804eda - fix(make.ps1): fetch jenkins versions from Artifactory and set LATEST_WEEKLY & LATEST_LTS / Hervé Le Meur
  • (2026-02-14) 7ad6fef - fix(bake): proper Windows version processing / Hervé Le Meur
  • (2026-02-15) 07d6208 - Merge pull request #2255 from lemeurherve/fix-tags-windows / Hervé Le Meur [labels: bug,windows,into-lts,release-version:2.541.2]
  • (2026-02-13) aded908 - chore: shellcheck recommendation in .ci/publish.sh / Hervé Le Meur
  • (2026-02-13) c59016d - chore: fixup of #2252 / Hervé Le Meur [labels: bug]
  • (2026-02-13) ba593d9 - chore: ask for confirmation before publication when not on CI in .ci/publish.sh / Hervé Le Meur
  • (2026-02-14) 7fc273a - chore(make.ps1): docker compose generation compatible with PowerShell 5 & 7 / Hervé Le Meur
  • (2026-02-14) de98650 - chore: quiet docker compose file generation / Hervé Le Meur
  • (2026-02-14) 4eea76c - Merge branch 'master' into quiet-docker-compose / Hervé Le Meur

Refs:

Testing done

  • make test
  • CI

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests that demonstrate the feature works or the issue is fixed

@lemeurherve lemeurherve added backport This concerns backport of changes into stable branch. release-version:2.541.2 labels Feb 15, 2026
@lemeurherve lemeurherve force-pushed the stable-2.541_backport-deps-and-tooling branch 4 times, most recently from d7e729e to 4c4ec18 Compare February 15, 2026 14:23
@lemeurherve lemeurherve marked this pull request as ready for review February 15, 2026 14:27
@lemeurherve lemeurherve requested a review from a team as a code owner February 15, 2026 14:27
@lemeurherve lemeurherve marked this pull request as draft February 15, 2026 14:30
@lemeurherve lemeurherve force-pushed the stable-2.541_backport-deps-and-tooling branch from 4c4ec18 to f089007 Compare February 15, 2026 14:40
@lemeurherve lemeurherve marked this pull request as ready for review February 15, 2026 14:42
@lemeurherve lemeurherve force-pushed the stable-2.541_backport-deps-and-tooling branch 4 times, most recently from 28b4261 to 4f7e1b8 Compare February 15, 2026 15:12
Copy link
Contributor

@MarkEWaite MarkEWaite left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change looks good to me.

I see that you did not select pull request:

I agree with that choice. I think it is OK that we don't include the most recent release of the plugin installation manager tool. The 2.13.2 release is reliable, stable, and fully functional. The 2.14.0 release has only been included in one weekly release. It can wait for the next LTS baseline.

@lemeurherve lemeurherve force-pushed the stable-2.541_backport-deps-and-tooling branch from 4f7e1b8 to 7b716cc Compare February 15, 2026 15:59
@lemeurherve
Copy link
Member Author

lemeurherve commented Feb 15, 2026

Just rebased a tooling commit as I also needed to adjust the default Jenkins version in the Windows dockerfile to 2.544 in 6abb25a cf rebase diff. (2.534 did not have yet any WAR signature stored in get.jenkins.io)

I see that you did not select pull request:

I agree with that choice. I think it is OK that we don't include the most recent release of the plugin installation manager tool. The 2.13.2 release is reliable, stable, and fully functional. The 2.14.0 release has only been included in one weekly release. It can wait for the next LTS baseline.

Indeed, I followed your advice 🙂

Ref:

lemeurherve and others added 6 commits February 15, 2026 17:12
* chore: Update the value of the JDK base image (ARG ALPINE_TAG) in the...

...  Dockerfile

Made with ❤️️ by updatecli

* chore: Update the value of the base image (ARG ALPINE_TAG) in the doc...

... ker-bake.hcl

Made with ❤️️ by updatecli

---------

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>
* chore: Bump JDK17 version in Dockerfiles

Made with ❤️️ by updatecli

* chore: Bump JDK17 version for Linux images in the docker-bake.hcl file

Made with ❤️️ by updatecli

---------

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>
jenkinsci#2241)

Made with ❤️️ by updatecli

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>
* chore: Update default value of variable RHEL_TAG in docker-bake.hcl

Made with ❤️️ by updatecli

* chore: Update value of base image (ARG RHEL_TAG) in Dockerfile

Made with ❤️️ by updatecli

---------

Co-authored-by: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com>
@lemeurherve lemeurherve force-pushed the stable-2.541_backport-deps-and-tooling branch from 7b716cc to 6497b1d Compare February 15, 2026 16:12
lemeurherve and others added 4 commits February 15, 2026 17:15
…ead of system) (jenkinsci#2236)

* chore(windows/make.ps1) ensure Pester is only installed as user (instead of system)

Caused by jenkins-infra/helpdesk#4939 (comment)

Ref. https://learn.microsoft.com/en-us/powershell/module/powershellget/install-module?view=powershellget-2.x#example-5-install-a-module-only-for-the-current-user an

* tests(windows/plugins-cli) ensure workdir is cleaned up with docker to avoid permissions issues, only when needed

* fixup

Signed-off-by: Damien Duportal <damien.duportal@gmail.com>

---------

Signed-off-by: Damien Duportal <damien.duportal@gmail.com>
…T_WEEKLY` & `LATEST_LTS`

Amends:
- jenkinsci#2189

diff --git a/make.ps1 b/make.ps1
index 665c6ce..abfebdc 100644
--- a/make.ps1
+++ b/make.ps1
@@ -42,21 +42,6 @@ $env:DOCKERHUB_REPO = "$Repository"
 $env:JENKINS_VERSION = "$JenkinsVersion"
 $env:COMMIT_SHA = git rev-parse HEAD

-# Add 'lts-' prefix to LTS tags not including Jenkins version
-# Compared to weekly releases, LTS releases include an additional build number in their version
-# Note: the ':' separator is included as trying to set an environment variable to empty on Windows unset it.
-$env:SEPARATOR_LTS_PREFIX = ':'
-$releaseLine = 'war'
-if ($JenkinsVersion.Split('.').Count -eq 3) {
-    $env:SEPARATOR_LTS_PREFIX = ':lts-'
-    $releaseLine = 'war-stable'
-}
-
-# If there is no WAR_URL set, using get.jenkins.io URL depending on the release line
-if([String]::IsNullOrWhiteSpace($env:WAR_URL)) {
-    $env:WAR_URL = 'https://get.jenkins.io/{0}/{1}/jenkins.war' -f $releaseLine, $env:JENKINS_VERSION
-}
-
 # Check for required commands
 Function Test-CommandExists {
     Param (
@@ -121,6 +106,52 @@ function Test-Image {

     return $failed
 }
+function Test-IsLatestJenkinsRelease {
+    param (
+        [String] $Version
+    )
+
+    Write-Host "= PREPARE: Checking if $env:JENKINS_VERSION is latest Weekly or LTS..."
+
+    $metadataUrl = "https://repo.jenkins-ci.org/releases/org/jenkins-ci/main/jenkins-war/maven-metadata.xml"
+    try {
+        [xml]$metadata = Invoke-WebRequest $metadataUrl -UseBasicParsing
+    }
+    catch {
+        Write-Error "Failed to retrieve Jenkins versions from Artifactory"
+        exit 1
+    }
+    $allVersions = $metadata.metadata.versioning.versions.version
+
+    # Weekly
+    $weeklyVersions = $allVersions |
+        Where-Object { $_ -match '^\d+\.\d+$' } |
+        ForEach-Object { [version]$_ } |
+        Sort-Object
+
+    # LTS
+    $ltsVersions = $allVersions |
+        Where-Object { $_ -match '^\d+\.\d+\.\d+$' } |
+        ForEach-Object { [version]$_ } |
+        Sort-Object
+
+    $latestWeeklyVersion = $weeklyVersions[-1]
+    Write-Host "latest Weekly version: $latestWeeklyVersion"
+    $latestLTSVersion    = $ltsVersions[-1]
+    Write-Host "latest LTS version: $latestLTSVersion"
+
+    $latest = $false
+    if ($Version -eq $latestWeeklyVersion) {
+        $latest = $true
+    }
+    if ($Version -eq $latestLTSVersion) {
+        $latest = $true
+    }
+    if (!$latest) {
+        Write-Host "WARNING: $JenkinsVersion is neither the lastest Weekly nor the latest LTS version"
+    }
+    return $latest
+}

 function Initialize-DockerComposeFile {
     param (
@@ -166,6 +197,24 @@ Test-CommandExists 'yq'
 # Sanity check
 yq --version

+# Add 'lts-' prefix to LTS tags not including Jenkins version
+# Compared to weekly releases, LTS releases include an additional build number in their version
+$releaseLine = 'war'
+# Determine if the current JENKINS_VERSION corresponds to the latest Weekly or LTS version from Artifactory
+$isJenkinsVersionLatest = Test-IsLatestJenkinsRelease -Version $JenkinsVersion
+
+if ($JenkinsVersion.Split('.').Count -eq 3) {
+    $releaseLine = 'war-stable'
+    $env:LATEST_LTS = $isJenkinsVersionLatest
+} else {
+    $env:LATEST_WEEKLY = $isJenkinsVersionLatest
+}
+
+# If there is no WAR_URL set, using get.jenkins.io URL depending on the release line
+if([String]::IsNullOrWhiteSpace($env:WAR_URL)) {
+    $env:WAR_URL = 'https://get.jenkins.io/{0}/{1}/jenkins.war' -f $releaseLine, $JenkinsVersion
+}
+
 $dockerComposeFile = 'build-windows_{0}.yaml' -f $ImageType
 $baseDockerCmd = 'docker-compose --file={0}' -f $dockerComposeFile
 $baseDockerBuildCmd = '{0} build --parallel --pull' -f $baseDockerCmd
@@ -239,6 +288,7 @@ if ($target -eq 'test') {

 if ($target -eq 'publish') {
     Write-Host '= PUBLISH: push all images and tags'
+
     switch($DryRun) {
         $true { Write-Host "(dry-run) $baseDockerCmd push" }
         $false { Invoke-Expression "$baseDockerCmd push" }
@lemeurherve lemeurherve force-pushed the stable-2.541_backport-deps-and-tooling branch from 6497b1d to 5df0cb3 Compare February 15, 2026 16:16
@lemeurherve lemeurherve merged commit cd0890e into jenkinsci:stable-2.541 Feb 15, 2026
16 checks passed
@lemeurherve lemeurherve deleted the stable-2.541_backport-deps-and-tooling branch February 15, 2026 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This concerns backport of changes into stable branch. release-version:2.541.2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants