-
Notifications
You must be signed in to change notification settings - Fork 53
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
Remove 2.361.x support #2121
Remove 2.361.x support #2121
Conversation
https://www.jenkins.io/security/advisory/2023-03-08/ notes a security vulnerability in Jenkins versions prior to 2.375.4. Let's drop support for 2.361.x to reduce the testing load and to encourage users to upgrade and avoid security issues. 98% of the 96000 installations of git plugin 5.0 were already running 2.375.1 or newer as of 1 May 2023. Over 40% of all git plugin installations were using 2.375.1 or newer as of 1 May 2023. Users that are upgrading to within 6 months of the most recent release (about 1/3 of the total installed base) are upgrading both core and plugins.
My only concern is that a lot of plugins use 2.361.x as their baseline, aligning with the switch to Java 11, so they are going to stop seeing BOM updates. Should we begin pushing them to 2.375.x? |
I agree that many plugins use 2.361.x as their baseline. I think that we should push them to 2.387.x unless they have a specific reason to remain at 2.375.x. When this pull request is merged, I plan to start that change on the 18 plugins that I most actively maintain so that they will switch to 2.387.3 as their minimum Jenkins version. Let me know if you see issues with that update. I no longer actively check things with anything older than 2.387.3, so it feels best to set the minimum Jenkins version to 2.387.3. Beginning tomorrow with the release of 2.401.1, the "Choosing a Jenkins version" page will recommend 2.387.3 or 2.375.4 as preferred versions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The README
has:
The UC currently maintains releases for the past 400 days so it is reasonable to retire BOMs for lines older than that, or otherwise when the number of accumulated version overrides becomes large.
In practice I don't think we've ever maintained a BOM line for more than 6-9 months due to the accumulation of small annoyances (such as having to add overrides to too many Dependabot PRs). That combined with the fact that we're apparently seeing (Pipeline? infrastructure?) scalability issues testing more than 4 lines might lead us to simply admit that the 400 day ideal in the README is too impractical:
The UC currently maintains releases for the past 400 days, so any BOM lines older than that should certainly be retired. Practical concerns usually lead to the retiring of a given line after 6-9 months.
Such an edit would be fine with me. |
BTW I think you can remove |
The first run of the pull request only evaluated the portion that is evaluated for dependabot pull requests. I assumed that I needed |
Co-authored-by: Jesse Glick <jglick@cloudbees.com>
Right, I just mean once you have successfully tested the substantive changes using |
Looks like https://ci.jenkins.io/job/Tools/job/bom/job/master/1751/ failed at the infrastructure level. Unfortunately https://plugins.jenkins.io/github-checks/ (unlike https://docs.cloudbees.com/docs/cloudbees-ci/latest/scm-integration/enabling-scm-reporting#_cloudbees_scm_reporting_feature_benefits) includes the head rather than the tail of a failed shell step’s log, which is usually useless, and does not link to the |
I see a failure from bootstrap5-api testing in the log file of https://ci.jenkins.io/job/Tools/job/bom/job/master/1751/ that reports:
I believe that I see the same failure locally when I run:
However, I'm not sure that test would ever pass on my machine, because it seems to need some configuration that I don't have. When I checkout the most recently released bom tag
Are others able to successfully run
|
I get the same error @MarkEWaite |
@MarkEWaite it appears that #1896 introduced the regression. I am not sure why, and I am not sure why CI builds succeeded prior to now. I suspect that there is something nondeterministic about its build (using some resource from the Internet which changed recently). |
Thanks! Would you propose the revert of #1896? |
I have no idea. Perhaps jenkinsci/bootstrap5-api-plugin@df0d4e4 is the ultimate cause? @uhafner any comment? |
Fascinating that a commit from 26 March 2023 ( #1896) shows a failure. I see the same failure in on my development machine. With the commit prior to #1896 , the |
Is this a problem with a specific commit of the bootstrap plugin or with the latest one? bootstrap5-api@5.2.2 is some weeks old. |
The original failure (and most interesting) is that the plugin bill of materials fails to complete its release process because the current bootstrap5-api plugin version in the plugin BOM master branch is failing when it runs tests. The same tests can be run from a clone of this repository with the command:
I don't understand why those tests are failing. If you can run the same command from a fork of this repository, you may recognize something in the failure that is not apparent to me. |
The more surprising problem (but lower priority) is that the command
fails on the commits since #1896 (late March 2023) , yet we've released multiple times since #1896 without detecting that failure. I like the suggestion from @jglick that there must be something in the downloaded components that has changed in order to cause tests to fail that were previously passing. |
The bootstrap plugin uses I also noticed some compile errors while I switched to the lastet
I'll try to run that locally as well. |
Based on some quick searching, it may be necessary to import |
It seems that my local folder still contained a wrong version. I cleaned now everything and get the same error now. I hopefully fixed that now in v5.2.3-1. |
What I noticed in the repo was that there is no |
Drop 2.361.x from plugin BOM
https://www.jenkins.io/security/advisory/2023-03-08/ notes a security vulnerability in Jenkins versions prior to 2.375.4. Let's drop support for 2.361.x to reduce the testing load and to encourage users to upgrade and avoid security issues.
98% of the 96000 installations of git plugin 5.0 were already running 2.375.1 or newer as of 1 May 2023. Over 40% of all git plugin installations were using 2.375.1 or newer as of 1 May 2023. Retaining plugin BOM support for 2.361.x does not help our Jenkins users or developers enough to justify the effort maintaining it.
Users that are upgrading to within 6 months of the most recent release (about 1/3 of the total installed base) are upgrading both core and plugins.
Testing done
Prep run locally and a plugin test was run locally
Submitter checklist