Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add weekly line, retire lines older than 2.289.x #671

Merged
merged 9 commits into from
Oct 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ updates:
interval: "daily"
- package-ecosystem: "maven"
open-pull-requests-limit: 10
directory: "/bom-latest"
directory: "/bom-weekly"
reviewers:
- "jglick"
schedule:
Expand Down
12 changes: 4 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,15 +128,11 @@ It is unusual but possible for cross-component incompatibilities to only be visi

## LTS lines

A separate BOM artifact is available for the current LTS line and a few historical lines.
When a new LTS line is released (`jenkins-2.nnn.1`),
the main definition should be moved into its BOM (added to the aggregator POM),
and the the previous BOM made to inherit from it.
Older BOMs should only specify plugin version overrides compared to the next-newer BOM.
`sample-plugin` should be updated to use the latest line by default,
and get a new POM profile for the penultimate.
A separate BOM artifact is available for the latest weekly, current LTS line and a few historical lines.
BOMs should only specify plugin version overrides compared to the next-newer BOM.
`sample-plugin` will use the weekly line by default,
and get a new POM profile for the others.
To get ahead of problems, prepare the draft PR for a line as soon as its baseline is announced.
Remember to file a patch to update: https://github.com/jenkins-infra/repository-permissions-updater/blob/master/permissions/pom-bom.yml

The CI build (or just `mvn test -P2.nnn.x`) will fail if some managed plugins are too new for the LTS line.
[This script](https://gist.github.com/jglick/0a85759ea65f60e107ac5a85a5032cae)
Expand Down
68 changes: 0 additions & 68 deletions bom-2.249.x/pom.xml

This file was deleted.

58 changes: 0 additions & 58 deletions bom-2.263.x/pom.xml

This file was deleted.

47 changes: 0 additions & 47 deletions bom-2.277.x/pom.xml

This file was deleted.

22 changes: 22 additions & 0 deletions bom-2.303.x/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.jenkins.tools.bom</groupId>
<artifactId>parent</artifactId>
<version>${changelist}</version>
</parent>
<artifactId>bom-2.303.x</artifactId>
<packaging>pom</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>bom-weekly</artifactId>
<version>${project.version}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
</project>
11 changes: 8 additions & 3 deletions bom-latest/pom.xml → bom-weekly/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
<artifactId>parent</artifactId>
<version>${changelist}</version>
</parent>
<artifactId>bom-2.303.x</artifactId>
<artifactId>bom-weekly</artifactId>
<packaging>pom</packaging>
<properties>
<checks-api.version>1.7.2</checks-api.version>
<configuration-as-code-plugin.version>1.54</configuration-as-code-plugin.version>
<git-plugin.version>4.8.3</git-plugin.version>
<git-plugin.version>4.9.0</git-plugin.version>
<pipeline-model-definition-plugin.version>1.9.2</pipeline-model-definition-plugin.version>
<scm-api-plugin.version>2.6.5</scm-api-plugin.version>
<structs-plugin.version>1.23</structs-plugin.version>
Expand Down Expand Up @@ -92,6 +92,11 @@
<artifactId>test-harness</artifactId>
<version>${configuration-as-code-plugin.version}</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.modules</groupId>
<artifactId>sshd</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins.workflow</groupId>
<artifactId>workflow-api</artifactId>
Expand Down Expand Up @@ -252,7 +257,7 @@
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>git-server</artifactId>
<version>1.9</version>
<version>1.10</version>
</dependency>
<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
Expand Down
1 change: 1 addition & 0 deletions excludes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ org.jenkinsci.plugins.pipeline.modeldefinition.MatrixTest
org.jenkinsci.plugins.pipeline.modeldefinition.WhenStageTest
org.jenkinsci.plugins.pipeline.modeldefinition.WhenStageMultibranchTest
org.jenkinsci.plugins.pipeline.modeldefinition.PostStageTest
org.jenkinsci.plugins.pipeline.modeldefinition.ToolsTest

# TODO seemingly legitimate but undiagnosed PCT failures in interruptedWhileStartingMaxSurvivability and interruptedWhileStartingPerformanceOptimized
org.jenkinsci.plugins.workflow.job.WorkflowRunRestartTest
Expand Down
8 changes: 4 additions & 4 deletions local-test.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#!/bin/bash
set -euxo pipefail
cd $(dirname $0)
cd "$(dirname $0)"

# expects: $PLUGINS, optionally $TEST, $LINE

LATEST_LINE=$(fgrep '<bom>' sample-plugin/pom.xml | sed -E 's, *<bom>(.+)</bom>,\1,g' | sort -rn | head -1)
LATEST_LINE=weekly
: "${LINE:=$LATEST_LINE}"

export SAMPLE_PLUGIN_OPTS=-Dtest=InjectedTest
Expand Down Expand Up @@ -33,10 +33,10 @@ then
-v ~/.m2:/var/maven/.m2 \
--rm \
--name bom-pct \
-v $(pwd)/target/local-test:/pct \
-v "$(pwd)"/target/local-test:/pct \
-e MAVEN_OPTS=-Duser.home=/var/maven \
-e MAVEN_CONFIG=/var/maven/.m2 \
-e PLUGINS=$PLUGINS \
-e PLUGINS="$PLUGINS" \
Copy link
Member

Choose a reason for hiding this comment

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

Fine though should not be necessary since this is a comma-separated line of ids, no shell metacharacters.

-e LINE=$LINE \
-e EXTRA_MAVEN_PROPERTIES=$EXTRA_MAVEN_PROPERTIES \
--entrypoint bash \
Expand Down
6 changes: 2 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,9 @@
<tag>${scmTag}</tag>
</scm>
<modules>
<module>bom-latest</module>
<module>bom-weekly</module>
<module>bom-2.303.x</module>
<module>bom-2.289.x</module>
<module>bom-2.277.x</module>
<module>bom-2.263.x</module>
<module>bom-2.249.x</module>
<module>sample-plugin</module>
</modules>
<build>
Expand Down
30 changes: 8 additions & 22 deletions sample-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
<packaging>hpi</packaging>
<properties>
<changelist>999999-SNAPSHOT</changelist>
<bom>2.303.x</bom>
<jenkins.version>2.303.2</jenkins.version>
<bom>weekly</bom>
<jenkins.version>2.317</jenkins.version>
<java.level>8</java.level>
</properties>
<repositories>
Expand Down Expand Up @@ -345,31 +345,17 @@
</build>
<profiles>
<profile>
<id>2.289.x</id>
<properties>
<bom>2.289.x</bom>
<jenkins.version>2.289.3</jenkins.version>
</properties>
</profile>
<profile>
<id>2.277.x</id>
<id>2.303.x</id>
<properties>
<bom>2.277.x</bom>
<jenkins.version>2.277.4</jenkins.version>
<bom>2.303.x</bom>
<jenkins.version>2.303.2</jenkins.version>
</properties>
</profile>
<profile>
<id>2.263.x</id>
<properties>
<bom>2.263.x</bom>
<jenkins.version>2.263.4</jenkins.version>
</properties>
</profile>
<profile>
<id>2.249.x</id>
<id>2.289.x</id>
<properties>
<bom>2.249.x</bom>
<jenkins.version>2.249.3</jenkins.version>
<bom>2.289.x</bom>
<jenkins.version>2.289.3</jenkins.version>
</properties>
</profile>
</profiles>
Expand Down