Every PPMC member should read the below docs at least once, several times, because eventually, after graduation, the NetBeans PMC members will be responsible to verify and ensure releases are done in compliance with these rules:
- See the generic Apache Release process – http://www.apache.org/dev/release-publishing.html.
- See the generic Apache Release FAQ – http://www.apache.org/legal/release-policy.html.
- See the ASF policy and documentation for releases: http://www.apache.org/dev/#releases.
- See the necessary steps and requirements for the release distribution -- http://www.apache.org/dev/release-distribution.html.
- And the specific amendments for Incubator releases -- http://incubator.apache.org/guides/releasemanagement.html.
Specific Steps, Details, and Examples
After reading the above, some specific steps and details and examples below.
- PPMC vote and tally.
- During incubation, IPMC vote, for example:
Conclude and tally the vote on general@ by replying with a final [RESULT][VOTE] <subject>, which can be done after minimal 72h. Check the general@ list for examples on the format and content of such [RESULT][VOTE] emails, for example:
- The source distribution at https://dist.apache.org/repos/dist/dev/incubator/netbeans/
needs to be moved (can use svn mv for that) to something like:
- Also, the KEYS file needed to verify netbeans distributions needs to be uploaded in the root (netbeans) dist folder there as well:
- Finally, the NetBeans website (netbeans.apache.org) needs to provide a download link for the distribution, including (explicitly) links to:
i.e., update the website with the release info, as that is required to make it a proper and community-visible release.
Staging Release Candidate
Into a local release directory, $RELEASE, checkout staging area:
$ cd $RELEASE
$ mkdir -p repos/dist/dev/incubator/netbeans
$ cd repos/dist/dev/incubator/netbeans
$ svn checkout https://dist.apache.org/repos/dist/dev/incubator/netbeans
Add the candidate, and svn add&svn commit.
Releasing a Release Candidate
To actually release a candidate, move it to the release area. In addition to the staging area, the release area needs to be checked out:
$ cd $RELEASE
$ mkdir -p repos/dist/release/incubator/netbeans
$ cd repos/dist/release/incubator/netbeans
Then move the candidate to the release area:
$ svn move $RELEASE/repos/dist/dev/incubator/netbeans/<candidate> .
And then commit the move:
$ svn commit -m "<commitmessage>" dev/incubator/netbeans/ release/incubator/netbeans/