• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Page Information

    Loading...
  1. Dashboard
  2. Undefined Space
  3. JDK 8u
  4. Detailed Process Description

Detailed Process Description

  • Created by Sean Coffey, last modified by Christoph Langer on May 28, 2019

Release Process

The release cycle for release 8u<n> starts its initial stage in the jdk8u-dev repository as soon as the previous release enters its second stage and is confined to the jdk8u repository. The starting point is tagged with jdk8u<n>-b00. Once the previous release has happened, jdk8u-dev begins a cycle of being tagged on a weekly basis - when new changesets have been pushed - and the latest tag is promoted from jdk8u-dev to jdk8u. The tags  have the format of jdk8u<n>-b<build>, where <n> is the placeholder for the update release and <build> is the monotonically increasing double digit 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 jdk8u, 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 jdk8u changes being integrated back to jdk8u-dev. At the end of the month prior to the release month, a complete freeze will be announced for jdk8u, 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 jdk8u and the final tags jdk8u<n>-b<build> and jdk8u<n>-ga will be set. To complete the process, jdk8u changes are integrated back into jdk8u-dev.

Release Engineers Checklist

WhenWhat
Very early, e.g. 6 months before GAPublish 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 jdk8u-dev to jdk8u:

1. On jdk8u-dev repository (and all its subrepositories):

hg pull -u

hg tag jdk8u<n>-b<build>

2. On jdk8u repository (and all its subrepositories):

hg pull <jdk8u-dev repository location>

... after successful testing ...
hg push ssh://<userid>@hg.openjdk.java.net/jdk8u/jdk8u{/subrepository}

Rampdown

Announce (short) freeze of jdk8u-dev for preparation of release 8u<release after n>on the mailing list


Set status of jdk8u-dev to "closed" and jdk8u to "accepting fixes for 8u<n>" in Wiki

Tag jdk8u-dev (and all its subrepositories) with jdk8u<release after n>-b00:

hg pull -u

hg tag jdk8u<release after n>-b00

hg push ssh://<userid>@hg.openjdk.java.net/jdk8u/jdk8u-dev{/subrepository}


Request new JBS version openjdk8u<release after n> and change of hgupdater settings for jdk8u-dev codeline to honor new version on push

Update JBS filter https://bugs.openjdk.java.net/issues/?filter=36562 that shows eligible critical fixes

Add version openjdk8u<n> to fixVersion


Await confirmation for hgupdater change, then update Wiki to set status of jdk8u-dev to

"accepting changes for 8u<release after n>", announce opening of jdk8u-dev for new release on mailing list


Update https://bugs.openjdk.java.net/issues/?filter=36427 that shows eligible fixes for pushing

Add version openjdk8u<release after n> to fixVersion

Weekly During Rampdown

Tag jdk8u and merge back to jdk8u-dev:

1. On jdk8u (and all its subrepositories):

hg pull -u

hg tag jdk8u<n>-b<build>

... after successful testing ...

hg push ssh://<userid>@hg.openjdk.java.net/jdk8u/jdk8u{/subrepository}

2. On jdk8u-dev (and all its subrepositories):

hg pull -u

hg pull <jdk8u repository location>

hg merge

hg commit -m "Merge"

... after successful build ...

hg push ssh://<userid>@hg.openjdk.java.net/jdk8u/jdk8u-dev{/subrepository}

Release day, once security changes

and jdk8u<n>-ga tag have been pushed

Sync ga tag back to jdk8u-dev:

1. On jdk8u (and all its subrepositories):

hg pull -u

2. On jdk8u-dev (and all its subrepositories):

hg pull -u

hg pull <jdk8u repository location>

hg merge

hg commit -m "Merge"

... after successful build ...

hg push ssh://<userid>@hg.openjdk.java.net/jdk8u/jdk8u-dev{/subrepository}


Set status of jdk8u to "closed"

Request new hgupdater setting for jdk8u codeline to honor version openjdk8u<release after n> on push
Overview
Content Tools
ThemeBuilder
  • No labels

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.21
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 231, "requestCorrelationId": "142912c94128626f"}