Skip to content

Commit a047be1

Browse files
committed
Merge branch 'master' into check-inline-js
2 parents 4caec39 + 020cf5f commit a047be1

File tree

10 files changed

+257
-139
lines changed

10 files changed

+257
-139
lines changed

.github/renovate.json

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,6 @@
1010
],
1111
"automerge": true,
1212
"customManagers": [
13-
{
14-
"customType": "regex",
15-
"managerFilePatterns": [
16-
"/pct.sh/"
17-
],
18-
"matchStrings": [
19-
"JTH_VERSION=(?<currentValue>.*?)\\n"
20-
],
21-
"depNameTemplate": "org.jenkins-ci.main:jenkins-test-harness",
22-
"datasourceTemplate": "maven",
23-
"registryUrlTemplate": "https://repo.jenkins-ci.org/releases/"
24-
},
2513
{
2614
"customType": "regex",
2715
"managerFilePatterns": [

Jenkinsfile

Lines changed: 7 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// Do not trigger build regularly on change requests as it costs a lot
22
String cronTrigger = ''
33
if(env.BRANCH_NAME == "master") {
4-
cronTrigger = '00 09 * * 5'
54
}
65

76
properties([
@@ -76,17 +75,13 @@ stage('prep') {
7675
mavenEnv(jdk: 21) {
7776
checkout scm
7877
withEnv(['SAMPLE_PLUGIN_OPTS=-Dset.changelist']) {
79-
withCredentials([
80-
usernamePassword(credentialsId: 'app-ci.jenkins.io', usernameVariable: 'GITHUB_APP', passwordVariable: 'GITHUB_OAUTH')
81-
]) {
82-
sh '''
83-
mvn -v
84-
echo "Starting artifact caching proxy pre-heat"
85-
mvn -ntp dependency:go-offline
86-
echo "Finished artifact caching proxy pre-heat"
87-
bash prep.sh
88-
'''
89-
}
78+
sh '''
79+
mvn -v
80+
echo "Starting artifact caching proxy pre-heat"
81+
mvn -ntp dependency:go-offline
82+
echo "Finished artifact caching proxy pre-heat"
83+
bash prep.sh
84+
'''
9085
}
9186
fullTestMarkerFile = fileExists 'full-test'
9287
weeklyTestMarkerFile = fileExists 'weekly-test'
@@ -96,17 +91,6 @@ stage('prep') {
9691

9792
lines = readFile('lines.txt').split('\n')
9893
lines = [lines[0], lines[-1]] // Save resources by running PCT only on newest and oldest lines
99-
withCredentials([string(credentialsId: 'launchable-jenkins-bom', variable: 'LAUNCHABLE_TOKEN')]) {
100-
lines.each { line ->
101-
def commitHashes = readFile "commit-hashes-${line}.txt"
102-
sh "launchable verify && launchable record build --name ${env.BUILD_TAG}-${line} --no-commit-collection " + commitHashes
103-
104-
def sessionFile = "launchable-session-${line}.txt"
105-
def jdk = line == 'weekly' ? 21 : 17
106-
sh "launchable record session --build ${env.BUILD_TAG}-${line} --flavor platform=linux --flavor jdk=${jdk} >${sessionFile}"
107-
stash name: sessionFile, includes: sessionFile
108-
}
109-
}
11094
}
11195
lines.each { line ->
11296
stash name: line, includes: "pct.sh,excludes.txt,target/pct.jar,target/megawar-${line}.war"
@@ -140,12 +124,6 @@ if (BRANCH_NAME == 'master' || fullTestMarkerFile || weeklyTestMarkerFile || env
140124
bash pct.sh
141125
'''
142126
}
143-
withCredentials([string(credentialsId: 'launchable-jenkins-bom', variable: 'LAUNCHABLE_TOKEN')]) {
144-
def sessionFile = "launchable-session-${line}.txt"
145-
unstash sessionFile
146-
def session = readFile(sessionFile).trim()
147-
sh "launchable verify && launchable record tests --session ${session} --group ${repository} maven './**/target/surefire-reports' './**/target/failsafe-reports'"
148-
}
149127
}
150128
}
151129
}

RELEASING.md

Lines changed: 120 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@ Details are described in [a week in the life of a BOM release manager](#a-week-i
99

1010
| Release Date | Lead |
1111
|--------------| -------------------- |
12-
| 2025-11-14 | Bruno Verachten |
13-
| 2025-11-21 | Bruno Verachten |
14-
| 2025-11-28 | Mark Waite |
15-
| 2025-12-05 | Mark Waite |
16-
| 2025-12-12 | Darin Pope |
17-
| 2025-12-19 | Darin Pope |
18-
| 2025-12-26 | Adrien Lecharpentier |
19-
| 2026-01-02 | Adrien Lecharpentier |
20-
| 2026-01-09 | Kris Stern |
12+
| 2025-01-02 | Adrien Lecharpentier |
13+
| 2026-01-09 | Adrien Lecharpentier |
2114
| 2026-01-16 | Kris Stern |
15+
| 2026-01-23 | Kris Stern |
16+
| 2026-01-30 | Bruno Verachten |
17+
| 2026-02-06 | Bruno Verachten |
18+
| 2026-02-13 | Mark Waite |
19+
| 2026-02-20 | Mark Waite |
20+
| 2026-02-27 | Darin Pope |
21+
| 2026-03-06 | Darin Pope |
2222

2323
## Releasing the BOM
2424

@@ -86,6 +86,116 @@ Then you can work on the PR. Once done, push your changes back to the PR. If eve
8686

8787
There are some known issues that commonly need to be addressed by the BOM release manager.
8888

89+
##### Handling Rollbacks
90+
91+
Sometimes a dependency update that was merged and released causes compatibility issues or test failures that are discovered before the BOM release. When this happens, a rollback process is needed to temporarily revert the problematic change while the issue is investigated and resolved.
92+
93+
###### When to Consider a Rollback
94+
95+
A dependency update should be reverted when it results in persistent test failures in the plugin BOM. It is even better if the persistent test failure can be fixed by updating to a newer version of the dependency that fixes the test failure.
96+
97+
###### Rollback Process
98+
99+
When a problematic dependency update needs to be rolled back, follow these steps:
100+
101+
1. Notify the Author
102+
103+
**Notify the author of the problematic change as close as possible to the actual problem area.** Leave a comment on the original PR or commit that introduced the issue, explaining the specific problems encountered.
104+
105+
Where possible, provide an example that the plugin developer can use to see the problem from within the plugin repository. Most plugin developers are not familiar with maintaining the plugin BOM, so they will struggle with using the plugin BOM repository to duplicate the problem. A plugin developer is more likely to resolve a problem when they can see it with `mvn clean verify` in their plugin repository.
106+
107+
**Example:**
108+
```
109+
Looks like these changes are causing issues with doing a BOM release
110+
this week. For reference:
111+
112+
tl;dr...two plugins that passed on the Tuesday weekly-test (foo-plugin
113+
and bar-plugin) are now failing.
114+
115+
For the moment so I can get the BOM release out today, I'm going to
116+
revert the PR that put in github-branch-source 1844.v4a_9883d49126.
117+
118+
The local BOM commands I'm running that are failing are:
119+
- `LINE=weekly PLUGINS=bar-plugin bash local-test.sh`
120+
- `LINE=weekly PLUGINS=foo-plugin bash local-test.sh`
121+
122+
As noted, when I locally go back to github-branch-source
123+
1834.v857721ea_74c6 both tests are passing.
124+
```
125+
126+
**Reference:** See [this example notification](https://github.com/jenkinsci/github-branch-source-plugin/pull/822#issuecomment-3238052920) to the plugin author.
127+
128+
2. Revert the Change
129+
130+
Create a revert commit that rolls back the problematic dependency update. In the commit message and the pull request description, include a link to the notification that was sent to the author.
131+
132+
**Example commit message:**
133+
```
134+
Revert "chore(deps): bump github-branch-source to 1844.v4a_9883d49126 in /bom-weekly"
135+
136+
Rolling back due to compatibility issues with downstream plugins.
137+
See notification to author: https://github.com/jenkinsci/github-branch-source-plugin/pull/822#issuecomment-3238052920
138+
```
139+
140+
3. Trigger Dependabot
141+
142+
Comment `@dependabot rebase` on the reverted PR to trigger Dependabot to reprocess the change.
143+
144+
4. Disable Automerge
145+
146+
Disable automerge for the PR to prevent it from being automatically merged again while the issue is being investigated.
147+
148+
5. Request Changes Review
149+
150+
- Click on **"Files changed"** tab in the PR
151+
- Click **"Review changes"**
152+
- Select **"Request changes"**
153+
- Add a comment explaining why changes are requested (reference the compatibility issues)
154+
- Click **"Submit review"**
155+
156+
6. Add `weekly-test` Label
157+
158+
Add the `weekly-test` label to the PR to ensure it gets additional testing before being considered for merge again.
159+
160+
7. Leave the PR Open
161+
162+
Do not close the PR. Leave it open so that:
163+
- The issue remains visible and can be tracked
164+
- The author can address the compatibility issues
165+
- Testing can be re-run once fixes are implemented
166+
167+
8. Convert to Draft
168+
169+
Convert the PR to draft status by clicking the **"Convert to draft"** link at the bottom of the Reviewers block. This signals that the PR is not ready for merge.
170+
171+
###### Example Rollback
172+
173+
For a complete example of this rollback process in action, see [BOM PR #5611](https://github.com/jenkinsci/bom/pull/5611), which demonstrates:
174+
175+
- Author notification with specific failure details
176+
- Revert commit with reference to the notification
177+
- PR converted to draft status
178+
- Changes requested with clear explanation
179+
- `weekly-test` label applied
180+
- Automerge disabled
181+
182+
###### After the Rollback
183+
184+
Once the rollback is complete:
185+
186+
1. **Monitor the Issue**: Keep track of whether the author addresses the compatibility problems
187+
2. **Re-test When Ready**: Once fixes are implemented, the PR can be converted back from draft and re-tested
188+
3. **Coordinate Release**: Ensure the fixed version is properly tested before including it in the next BOM release
189+
190+
###### Communication
191+
192+
When performing rollbacks:
193+
194+
- Be clear and specific about the issues encountered
195+
- Provide helpful details like failing tests or error messages
196+
- Reference specific versions that work vs. versions that fail
197+
- Be respectful and collaborative - rollbacks are about maintaining stability, not blame
198+
89199
##### Dependency requires Jenkins 2.xxx.y or higher
90200

91201
This message shows that a plugin requires a newer Jenkins LTS than one or more of the LTS lines supported by the BOM. Pin the older version to the correct LTS line to resolve the issue. Some pull requests that pin older plugin versions include:
@@ -132,7 +242,7 @@ Alternatively, you can call them from wherever you want, just know that they are
132242
* on the newly created issue, manually set `Type` to `Task`
133243
* at the time of writing (2024-10-14), there is no `gh` option to set the Type
134244
* check the CRON expression to see if the pre-release build will be executed at a time suited for you
135-
* this can also be used to change when the release happened if you prefer the release to be made on thurday
245+
* this can also be used to change when the release happened if you prefer the release to be made on Thursday
136246
* run `./bom-release-issue-complete-task.sh 1`
137247
* Locally run tests for `warnings-ng` for all current LINEs and weekly
138248
* `./bom-test-all-lines.sh warnings-ng`

bom-2.504.x/pom.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,31 @@
120120
<artifactId>warnings-ng</artifactId>
121121
<version>12.9783.ve1cb_9f060738</version>
122122
</dependency>
123+
<dependency>
124+
<groupId>org.jenkins-ci.plugins</groupId>
125+
<artifactId>azure-keyvault</artifactId>
126+
<version>327.v3f37dc30312a_</version>
127+
</dependency>
123128
<dependency>
124129
<groupId>org.jenkins-ci.plugins</groupId>
125130
<artifactId>azure-vm-agents</artifactId>
126131
<version>1050.v45467b_03322a_</version>
127132
</dependency>
133+
<dependency>
134+
<groupId>org.jenkins-ci.plugins</groupId>
135+
<artifactId>badge</artifactId>
136+
<version>2.12</version>
137+
</dependency>
138+
<dependency>
139+
<groupId>org.jenkins-ci.plugins</groupId>
140+
<artifactId>build-timeout</artifactId>
141+
<version>1.38</version>
142+
</dependency>
143+
<dependency>
144+
<groupId>org.jenkins-ci.plugins</groupId>
145+
<artifactId>gitlab-plugin</artifactId>
146+
<version>1.9.12</version>
147+
</dependency>
128148
<dependency>
129149
<groupId>org.jenkins-ci.plugins</groupId>
130150
<artifactId>ldap</artifactId>

bom-2.516.x/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@
2020
<type>pom</type>
2121
<scope>import</scope>
2222
</dependency>
23+
<dependency>
24+
<groupId>io.jenkins.plugins</groupId>
25+
<artifactId>gitea-checks</artifactId>
26+
<version>601.607.vcea_0049b_27e5</version>
27+
</dependency>
2328
<dependency>
2429
<groupId>org.jenkins-ci.plugins</groupId>
2530
<artifactId>cloudbees-folder</artifactId>

bom-2.528.x/pom.xml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,36 @@
2121
<type>pom</type>
2222
<scope>import</scope>
2323
</dependency>
24+
<dependency>
25+
<groupId>io.jenkins.plugins</groupId>
26+
<artifactId>custom-folder-icon</artifactId>
27+
<version>2.21</version>
28+
</dependency>
29+
<dependency>
30+
<groupId>io.jenkins.plugins</groupId>
31+
<artifactId>customizable-header</artifactId>
32+
<version>250.vdb_c6dcb_5c515</version>
33+
</dependency>
34+
<dependency>
35+
<groupId>io.jenkins.plugins</groupId>
36+
<artifactId>design-library</artifactId>
37+
<version>403.v0787db_1c972b_</version>
38+
</dependency>
39+
<dependency>
40+
<groupId>io.jenkins.plugins</groupId>
41+
<artifactId>mcp-server</artifactId>
42+
<version>0.116.v335308141e4e</version>
43+
</dependency>
2444
<dependency>
2545
<groupId>io.jenkins.plugins</groupId>
2646
<artifactId>pipeline-graph-view</artifactId>
2747
<version>661.v6003f4542123</version>
2848
</dependency>
49+
<dependency>
50+
<groupId>org.jenkins-ci.plugins</groupId>
51+
<artifactId>github-branch-source</artifactId>
52+
<version>1917.v9ee8a_39b_3d0d</version>
53+
</dependency>
2954
<dependency>
3055
<groupId>org.jenkins-ci.plugins</groupId>
3156
<artifactId>junit</artifactId>
@@ -37,6 +62,11 @@
3762
<version>${junit-plugin.version}</version>
3863
<classifier>tests</classifier>
3964
</dependency>
65+
<dependency>
66+
<groupId>org.jenkins-ci.plugins</groupId>
67+
<artifactId>oic-auth</artifactId>
68+
<version>4.609.v9de140f63d01</version>
69+
</dependency>
4070
<dependency>
4171
<groupId>org.jenkins-ci.plugins.workflow</groupId>
4272
<artifactId>workflow-api</artifactId>

0 commit comments

Comments
 (0)