Backport from master to stable-2.541 for LTS 2.541.2#2258
Conversation
d7e729e to
4c4ec18
Compare
4c4ec18 to
f089007
Compare
28b4261 to
4f7e1b8
Compare
There was a problem hiding this comment.
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.
4f7e1b8 to
7b716cc
Compare
|
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)
Indeed, I followed your advice 🙂 Ref: |
* 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>
7b716cc to
6497b1d
Compare
…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" }
6497b1d to
5df0cb3
Compare
LTS 2.541.2 release date: 2026-02-18
Dependencies backport
master:stable-2.541Tooling backport
LATEST_WEEKLY&LATEST_LTSList of considered commits
Refs:
stable-<release-line>branch #2195Testing done
make testSubmitter checklist