Skip to content

Commit 6a03479

Browse files
authored
Merge pull request #862 from lemeurherve/backport-release-script-fixes-to-stable
fix: include `release.bash` fixes from jenkins-infra/helpdesk#5000 in `stable-2.541`
2 parents d80d998 + a3fbb29 commit 6a03479

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

Jenkinsfile.d/core/release

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,14 +135,6 @@ pipeline {
135135
steps {
136136
sh '''
137137
utils/release.bash --stageRelease
138-
139-
# Ensure Artifactory updates the `latest` field in the `jenkins-war` 's `maven-metadata.xml` (sometime it is not updated).
140-
# Note 1: only useful for weekly releases (no op for LTS)
141-
# Note 2: Could the "bug" being caused by only using Maven `release:stage` instead of `release:perform`?
142-
# Note 3: don't update maven-metadata if not a public release
143-
if [[ "${MAVEN_REPOSITORY_NAME}" == "releases" ]]; then
144-
curl -X POST -H 'Content-Length: 0' --fail --user "${MAVEN_REPOSITORY_USERNAME}:${MAVEN_REPOSITORY_PASSWORD}" "https://repo.jenkins-ci.org/api/maven/calculateMetadata/releases/org/jenkins-ci/main/jenkins-war/"
145-
fi
146138
'''
147139
}
148140
}

utils/release.bash

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,13 +124,13 @@ function downloadJenkinsWar() {
124124
jenkinsVersion="$(jv get)" # jv utilizes the JENKINS_VERSION environment variable which can be the line (latest/weekly/lts/stable) or an exact version
125125

126126
# Download WAR from Artifactory. Note: the expected filename is "jenkins.war".
127-
warUrl="https://repo.jenkins-ci.org/releases/org/jenkins-ci/main/jenkins-war/${jenkinsVersion}/jenkins-war-${jenkinsVersion}.war"
128-
curl --fail --silent --show-error --location --output "${WAR}" \
127+
warUrl="https://repo.jenkins-ci.org/${MAVEN_REPOSITORY_NAME}/org/jenkins-ci/main/jenkins-war/${jenkinsVersion}/jenkins-war-${jenkinsVersion}.war"
128+
curl --fail --silent --show-error --location --user "${MAVEN_REPOSITORY_USERNAME}:${MAVEN_REPOSITORY_PASSWORD}" --output "${WAR}" \
129129
"${warUrl}"
130130

131131
# Download signature from Artifactory (signed by Maven during the release process). Note: the expected filename is "jenkins.war.asc".
132132
warSignatureUrl="${warUrl}.asc"
133-
curl --fail --silent --show-error --location --output "${WAR}.asc" \
133+
curl --fail --silent --show-error --location --user "${MAVEN_REPOSITORY_USERNAME}:${MAVEN_REPOSITORY_PASSWORD}" --output "${WAR}.asc" \
134134
"${warSignatureUrl}"
135135

136136
# TODO: verify the download. Requires retrieving the correct GPG key (edge case when rotating key, might need to use state files)
@@ -416,6 +416,14 @@ function stageRelease() {
416416
-s settings-release.xml \
417417
-ntp \
418418
release:stage
419+
420+
# Update maven-metadata only if it's a public release
421+
if [[ "${MAVEN_REPOSITORY_NAME}" == "releases" ]]; then
422+
# Ensure Artifactory updates the `latest` field in the `jenkins-war` 's `maven-metadata.xml` (sometime it is not updated).
423+
# Note 1: only useful for weekly releases (no op for LTS)
424+
# Note 2: Could the "bug" being caused by only using Maven `release:stage` instead of `release:perform`?
425+
curl -X POST -H 'Content-Length: 0' --fail --user "${MAVEN_REPOSITORY_USERNAME}:${MAVEN_REPOSITORY_PASSWORD}" "https://repo.jenkins-ci.org/api/maven/calculateMetadata/${MAVEN_REPOSITORY_NAME}/org/jenkins-ci/main/jenkins-war/"
426+
fi
419427
}
420428

421429
function performRelease() {

0 commit comments

Comments
 (0)