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

Update default Jenkinsfile to include Java 21 #651

Merged
merged 1 commit into from
Aug 12, 2023

Conversation

NotMyFault
Copy link
Member

@NotMyFault NotMyFault commented Aug 11, 2023

Fixes #650

Copy link
Member

@basil basil left a comment

Choose a reason for hiding this comment

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

Can we get a spreadsheet going for implementing this in, say, the top 100 or 200 plugins at least? I'm willing to help

@NotMyFault
Copy link
Member Author

Can we get a spreadsheet going for implementing this in, say, the top 100 or 200 plugins at least? I'm willing to help

=> https://docs.google.com/spreadsheets/d/1RbeVLsyp03JP1qvM9jVcpZU2CPvOlI-Wffmez7u4IfY/edit?usp=sharing

@NotMyFault NotMyFault merged commit 6f55eed into jenkinsci:master Aug 12, 2023
2 checks passed
@NotMyFault NotMyFault deleted the default-21 branch August 12, 2023 08:15
@basil
Copy link
Member

basil commented Aug 14, 2023

Commensurate with the effort that you and Mark have already expended, I have filled in about two dozen rows in the spreadsheet.

=> https://docs.google.com/spreadsheets/d/1RbeVLsyp03JP1qvM9jVcpZU2CPvOlI-Wffmez7u4IfY/edit?usp=sharing

A prerequisite for my approval of this pull request was an effort to migrate the ecosystem, but 170 rows of this spreadsheet are still red.

@jglick
Copy link
Member

jglick commented Aug 14, 2023

Rather recommend updating Linux from 17 to 21 but leaving Windows on 11, since we still support 11 (and I presume expect to still support it for some time), unless and until Jenkins core drops 11 support and plugins begin picking up that baseline. Running all three seems unnecessary in terms of load on the CI system and I do not see much advantage—it is not very likely that a change would introduce a regression on 17 but not either 11 nor 21.

@basil
Copy link
Member

basil commented Aug 14, 2023

That recommendation ignores the staggering implementation cost of multiple ecosystem-wide migrations:

jenkinsci/workflow-api-plugin#299 (comment)

@jtnord
Copy link
Member

jtnord commented Aug 18, 2023

The previous comment appears to asssume that you are doing that migration, however a plugin author can do that as and when their plugin bumps to a core requiring java 17 as a minium. No staggering extra cost in incurred here, if an author is bumping core versions.

I agree with Jesse there is no reason to drop Java11 here. Or if you are only interested in new plugins to use the same arguments against a plugin author in. Similar yet unrelated code changes

@basil
Copy link
Member

basil commented Aug 18, 2023

We have to stop assuming that plugin authors are going to do these migrations "someday." The fact is that they aren't, and these incomplete migrations are becoming massive technical debt that falls on whoever happens to be next working on some unrelated change. And it is turning people away from plugin development:

One of the reasons I stopped contributing to Jenkins projects & plugins was the amount of things needed to stay atop of the moving parts

When changing the archetype, we have a responsibility to evolve the "important" (for some definition of "important") parts of the ecosystem along with that change.

I agree with Jesse there is no reason to drop Java11 here

Unless you are going to be actively participating in the migration effort in a significant way, I think this opinion carries limited weight.

@jglick
Copy link
Member

jglick commented Aug 18, 2023

@jtnord can we move any subsequent discussion to #650? (I left comments in various places before finding the “root”, unfortunately leading to some split threads.) Or to the dev list if wider visibility seems warranted.

MarkEWaite added a commit to MarkEWaite/jenkins.io that referenced this pull request Sep 22, 2023
https://www.jenkins.io/doc/developer/publishing/new-plugin/
uses the plugin archetype to generate a Jenkinsfile that tests
with Java 21 on Linux and Java 17 on Windows.  A discussion
of the reasons for that configuration is available in
jenkinsci/archetypes#651

Let's have the documentation use the same technique as is used in the
plugin archetype.
kmartens27 pushed a commit to jenkins-infra/jenkins.io that referenced this pull request Sep 22, 2023
https://www.jenkins.io/doc/developer/publishing/new-plugin/
uses the plugin archetype to generate a Jenkinsfile that tests
with Java 21 on Linux and Java 17 on Windows.  A discussion
of the reasons for that configuration is available in
jenkinsci/archetypes#651

Let's have the documentation use the same technique as is used in the
plugin archetype.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Suggest Java 21 in recommended Jenkinsfile
4 participants