Skip to content

Conversation

@HannesWell
Copy link
Member

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'.

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')
Copy link
Member Author

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?

Comment on lines 82 to 85
// 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)
Copy link
Member Author

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?

Copy link
Member Author

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?

@HannesWell HannesWell force-pushed the set-y-build-schedule-for-next-java-release branch from 6e5f10f to bed5715 Compare September 21, 2025 06:32
@HannesWell
Copy link
Member Author

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.
If adjustments are necessary, we can still fine-tune this later.

@HannesWell
Copy link
Member Author

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'.
@HannesWell HannesWell force-pushed the set-y-build-schedule-for-next-java-release branch from bed5715 to ea60f99 Compare September 21, 2025 06:38
@HannesWell HannesWell merged commit de5db1c into eclipse-platform:master Sep 21, 2025
5 of 6 checks passed
@HannesWell HannesWell deleted the set-y-build-schedule-for-next-java-release branch September 21, 2025 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant