-
Notifications
You must be signed in to change notification settings - Fork 90
[RelEng] Consider next java release date for Y-build schedule #3339
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
[RelEng] Consider next java release date for Y-build schedule #3339
Conversation
| stringParam('RC1_DATE', null, 'Release-Candidate 1 end date in the format yyyy-mm-dd, for example: 2025-08-22') | ||
| stringParam('RC2_DATE', null, 'Release-Candidate 2 end date in the format yyyy-mm-dd, for example: 2025-08-29') | ||
| stringParam('GA_DATE', null, 'Final general availability release date in the format yyyy-mm-dd, for example: 2025-09-10') | ||
| stringParam('NEXT_JAVA_RELEASE_DATE', null, 'Release date of the next nww Java version, if it is released shortly after the Eclipse release (i.e. shortly after the <em>GA_DATE</em> specified above, usually for odd release versions), else left blank (usually for even releases). Value is in the format yyyy-mm-dd, for example: 2025-09-16') |
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.
@MohananRahul, @subyssurendran666 this has to be considered again for the preparation of the 2025-03 release. When preparing 2025-06 this value will be blank.
Is the description clear or do you need more documentation?
| // java release soon after the Eclipse release, so schedule Y-builds daily within the 'Java RC phase' | ||
| def javaReleaseDate = parseDate("${NEXT_JAVA_RELEASE_DATE}") | ||
| def javaRCStart = javaReleaseDate.minusDays(7) | ||
| def javaRCEnd = javaReleaseDate.plusDays(7) |
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.
@mpalat, @stephan-herrmann, @jarthana, can you tell me until when exactly you need the Y-builds to run if a new java version is about to be released?
Is a 'RC-phase' with one Y-build per day one week before and after the release suitable for you?
Or are you actually satisfied with the regular two-days schedule?
Are builds after the Java release even necessary? I configured this based on the assumption that you maybe want to provide fixes for the ECJ patch for the just released Eclipse version. Do you only intend to do that seldomly or not intend to do that at all?
This question also implies for how long the old Y-build job should be kept in Jenkins before it's deleted.
For the current 4.37 Y-build I had configured the job manually, after moving it to be maintenance branch manually too (but this has been automated in #3333), to run every day until the Java release date yesterday.
Do you need the 4.37 Y-build to be scheduled for longer? Or was it already too long or perfectly fine?
Is the increased cadence of one build per day a week (or whatever you need) before the release even helpful? I saw many builds where skipped (in this regard builds are also cheap if nothing happens).
From the recent discussion I recall that you need at least one Y-build after the Java release to have all BETA disclaimers removed, so javaRCEnd = javaReleaseDate.plusDays(1) would be needed at least.
In general I wonder if it would help you to have the ability to trigger Y-builds manually, even if you are not a platform committer, e.g. from JDT Jenkins, e.g by using the Remote-Trigger plugin or just a simple web-hook?
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.
@mpalat, @stephan-herrmann, @jarthana could you help me to get answers for my questions about how a suitable ECJ/JDT RC schedule for a new Java release would look like?
6e5f10f to
bed5715
Compare
|
After talking to others, who confirmed that additional Y-builds after a Java-release (e.g. to fix urgent bugs) are very seldom, I now decided to stripped the phase of an increased build cadence to two days after the java release, to have at least the final builds after the BETA disclaimer removal, all clean-ups (and maybe a hotfix at the following day) covered. |
|
The verification build doesn't test this, so I'm submitting this immediately. |
Explicitly specify a limited cron based schedule for Y-builds too that is either aligned with the Eclipse release or a Java-release. If no Java release happens soon after the Eclipse release the schedule ends two days before RC2 (similar to I-builds). If a Java release happens soon after the Eclipse release (and a JDT patch is provided after the Eclipse release), the Y-build schedule is extended until shortly after the java release date and the schedule and the Y-build cadence is increased in the 'RC-phase'.
bed5715 to
ea60f99
Compare
Explicitly specify a limited cron based schedule for Y-builds too that is either aligned with the Eclipse release or a Java-release. If no Java release happens soon after the Eclipse release the schedule ends two days before RC2 (similar to I-builds).
If a Java release happens soon after the Eclipse release (and a JDT patch is provided after the Eclipse release), the Y-build schedule is extended until the java release date and the schedule and the Y-build cadence is increased in the 'RC-phase'.