Hi all, I have a question about changing the Jenkins LTS versions in buildPlugin.recommendedConfigurations() which is a part of the Jenkins Pipeline Library <https://github.com/jenkins-infra/pipeline-library/>. This is a utility method which provides a list of the recommended configurations for plugin build pipelines (see the code below).
The method was introduced as a part of the Java 11 support effort, and the version was pinned to 2.164.1 which was the first LTS to officially support Java 11.The intent was to change the recommended configuration over time, and it is reflected in the documentation: "It is also possible to use a buildPlugin.recommendedConfigurations() method to get recommended configurations for testing. Note that the recommended configuration may change over time, and hence your CI may break if the new recommended configuration is not compatible". There are around 70 plugins using the method to retrieve the recommended configurations, and there is a pull request <https://github.com/jenkins-infra/pipeline-library/pull/92> from Jesse Glick to update the version. Although the pull request is totally legit w.r.t to the documentation, there is a risk of breaking master branch builds for some plugins (as designed and documented). There is also a pull request <https://github.com/jenkins-infra/pipeline-library/pull/94> from Baptiste Mathus which pins the version and allows overriding it; this PR changes the purpose of the method a bit. Although there are great suggestions from Jesse about a longer-term solution (pulling the version from pom.xml and using Dependabot to bump it), I would like to ask plugin maintainers about short-term steps: - Bump the version, potentially break CI for plugins (Jesse's PR) - Pin the version, allow overriding it (Baptiste's PR) - Reject both PRs, keep status quo and old Jenkins core until a plugin-repo-side suggestion is implemented by somebody Any feedback/and comments will be appreciated. Thanks in advance, Oleg P.S: Code: static List<Map<String, String>> recommendedConfigurations() { def recentLTS = "2.164.1" def configurations = [ [ platform: "linux", jdk: "8", jenkins: null ], [ platform: "windows", jdk: "8", jenkins: null ], [ platform: "linux", jdk: "8", jenkins: recentLTS, javaLevel: "8" ], [ platform: "windows", jdk: "8", jenkins: recentLTS, javaLevel: "8" ], [ platform: "linux", jdk: "11", jenkins: recentLTS, javaLevel: "8" ], [ platform: "windows", jdk: "11", jenkins: recentLTS, javaLevel: "8" ] ] return configurations } -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLBRoFNVj67sgbRBH%3DiVequYXkuYVdckFm6dvav9SQhV2Q%40mail.gmail.com.
