-
Notifications
You must be signed in to change notification settings - Fork 69
Release_Process
Ed Burns edited this page Dec 15, 2023
·
7 revisions
- Consider the top level Jakarta EE API POM. In the
<properties>
section there are many properties of the form<jakarta.SPECID-api.version>
, whereSPECID
is something likejson
,json.bind
,authentication
, etc. Before executing the release process, we assume the following.- The values of these properties are as expected for the release.
- If this is a milestone release, each value ends with
-M<N>
whereN
is the milestone number. - If this is a final release, there is no value at the end.
- If this is a milestone release, each value ends with
- For each value, a valid artifact exists in Maven central where the V in the GAV for the artifact is that value.
- It is possible some component specs may not host their milestone artifacts in maven central. In that case, they will have hosted in a staging repo.
- The values of these properties are as expected for the release.
If these assumptions are not true, make the necessary changes to cause them to be true, then proceed.
- Visit https://ci.eclipse.org/jakartaee-platform/ .
- Sign in.
- Select jakartaee-api-build.
- Select Build Now.
- Ensure the build completes successfully. Here is a screen grab of a successful build. If the build does not complete successfully, troubleshoot the problem before continuing.
- Select Dashboard from the breadcrumbs navigation.
- Select StagingRelease. link to job. This job causes the API artifacts to be stored in the "staging" Nexus repository provided to Eclipse by Sonatype.
- Select Build With Parameters
- Leave PROJECT at its default value.
- For RELEASE_VERSION enter the value from the
<version>
element of the top level POM above. - For NEXT_VERSION enter the same value as RELEASE_VERSION but remove the
-M<N>
and append-SNAPSHOT
. - For JAVADOC_LICENSE select EFSL.
- Uncheck the DRY_RUN checkbox, unless you really want to do a dry run.
- Select Build.
- Ensure the build completes successfully. Here is a screen grab of a successful build. If the build does not complete successfully, troubleshoot the problem before continuing.
- Select Dashboard from the breadcrumbs navigation.
- For milestone release only:
- Select nexus-release. link to job. This job causes the API artifacts stored in the "staging" repository to be released to Maven central.
- Select Build With Parameters.
- Leave the parameters at their default values.
- PENDING: confirm this does all three platforms. It looks like this may need to be run three times, once for each platform.
- Be very sure you want to run this, because once you release to maven central, you can't undo it.
- Uncheck the DRY_RUN checkbox, unless you really want to do a dry run.
There is some level of documentation for these jobs at https://github.com/jakartaee/platform/tree/main/jenkins .
- Visit https://github.com/jakartaee/specifications/tree/master/platform
- There is a directory here for each version of Jakarta EE.
- Create a PR to this repo that does the following.
- Creates HTML and PDF version of the profile specs as children of the release directory, for example
11
. For a milestone release, the-M<N>
suffix must be in the filename for the HTML and PDF files. - Updates the
_index.md
page with all the appropriate links.
- Creates HTML and PDF version of the profile specs as children of the release directory, for example
- The source code for the schemas is at https://github.com/jakartaee/jakartaee-schemas .
- Do not bother with making a
-M<N>
version of the schema files. We will iterate these files as if they are final. - Follow the steps in this guide. https://jakartaee.github.io/platform/publish-xml-schemas .
- As with the preceding step, do not bother with
M-<N>
filenames. Just iterate as if it is final all along.
- As with the preceding step, do not bother with
This is a matter of asking the platform TCK team. PENDING: see JEA-238.
This step is only relevant for the final release.
- Make sure all the links in the
_index.md
page is up to date. - Make a PR to https://github.com/jakartaee/specifications
- Make sure all the checklist items in https://github.com/jakartaee/specifications/blob/master/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md are completed.
- The spec committee wil pick it up and initiate the ballots.
- Release the API artifacts
- Have the specification committee promote the staged TCK
https://github.com/jakartaee/platform
Build the specifications and then create a PR against the https://github.com/jakartaee/specifications repo for each of the core profile, web profile, and platform spec contents.
Schemas: https://github.com/jakartaee/jakarta.ee/tree/src/static/xml/ns
Platform TCK release is handled by the platform TCK team.