Release Process
The release cycle for release 11.0.<n> starts its initial stage in the jdk11u-dev repository as soon as the previous release enters its second stage and is confined to the jdk11u repository. The starting point is tagged with jdk11.0.<n>+0. Once the previous release has happened, jdk11u-dev begins a cycle of being tagged on a weekly basis - when new changesets have been pushed - and the latest tag is promoted from jdk11u-dev to jdk11u. The tags have the format of jdk11.0.<n>+<build>, where <n> is the placeholder for the update release and <build> is the monotonically increasing build number.
About 6 weeks before its release, or general availability (GA), an update release enters Rampdown. From that point onwards, the update release is stabilized by only accepting very select fixes in jdk11u, such as regressions, high priority issues and test fixes. Tagging again takes place on a weekly basis - when changes have occurred - but this time, it occurs in the opposite direction, with jdk11u changes being integrated back to jdk11u-dev. At the end of the month prior to the release month, a complete freeze will be announced for jdk11u, allowing the maintainers of the security changes (currently Red Hat) to integrate these into the repository and perform final testing of the collected fixes in a secure, internal environment. On release day, the final batch of changes will be pushed to jdk11u and the final tags jdk11.0.<n>+<build> and jdk11.0.<n>-ga will be set. To complete the process, jdk11u changes are integrated back into jdk11u-dev.
Release Engineers Checklist
When | What |
---|---|
Very early, e.g. 6 months before GA | Publish timeline on Wiki page |
Create release specific JBS filters, e.g. for monitoring backports to keep in sync with Oracle | |
Weekly During Initial Stage | Merge jdk11u-dev to jdk11u: 1. On jdk11u-dev repository:
2. On jdk11u repository:
... after successful testing ... |
Rampdown | Announce (short) freeze of jdk11u-dev for preparation of release 11.0.<n+1>on the mailing list |
Set status of jdk11u-dev to "closed" and jdk11u to "accepting fixes for 11.0.<n>" in Wiki | |
Tag jdk11u-dev with jdk11.0.<n+1>+0:
| |
Request new JBS version 11.0.<n+1> and change of hgupdater settings for jdk11u-dev codeline to honor new version on push | |
Update JBS filter https://bugs.openjdk.java.net/issues/?filter=36558 that shows eligible critical fixes Add version 11.0.<n> to fixVersion | |
Create patch to bump the version in jdk11u-dev to 11.0.<n+1>, look at JDK-8219710 for an example. | |
Await confirmation for hgupdater change, then update Wiki to set status of jdk11u-dev to "accepting changes for 11.0.<n+1>", announce opening of jdk11u-dev for new release on mailing list | |
Update https://bugs.openjdk.java.net/issues/?filter=36412 that shows eligible fixes for pushing Add version 11.0.<n+1> to fixVersion | |
Weekly During Rampdown | Tag jdk11u and merge back to jdk11u-dev: 1. On jdk11u repository:
... after successful testing ...
2. On jdk11u-dev repository:
... after successful build ...
|
Release day, once security changes and jdk-11.0.<n>-ga tag have been pushed | Sync ga tag back to jdk11u-dev: 1. On jdk11u repository:
2. On jdk11u-dev repository:
|
Set status of jdk11u to "closed" | |
Request new hgupdater setting for jdk11u codeline to honor version 11.0.<n+1> on push |