...
- Create a branch release<version> in the https://github.com/apache/netbeans. <version> looks like 113 for Apache NetBeans 11.3 full name of branch is release113
- Create a section for release<version> in https://github.com/apache/netbeans-jenkins-lib/blob/master/meta/netbeansrelease.json (after the copy paste, read carefully to match date, change version, change position.
- Check on Jenkins that item appears for release<version> in https://builds.apache.org/view/M-R/view/NetBeans/job/netbeans-TLP/job/netbeans/ (all previous branches should be present).
Producing a Beta
1. Obtaining and Preparing the Beta files
Taming json to prepare beta or release candidate
For each release section you will have milestones section. This section will help branding a special Apache NetBeans milestone.
If nothing is set in the section, it will release a dev version of current branch. 11.3-dev.
Preparing for beta:
Milestone section key are commit hash. If you want a commit hash to form a beta1 you need to add milestone entry (do not forget position):
"<commit hash>":{"version": "beta1","position": "1"}
Branding will contains beta information
Preparing for voting candidate:
Milestone section key are commit hash. If you want a commit hash to form a beta1 you need to add milestone entry (do not forget position):
"<commit hash>":{"vote": "1","position": "2"}
Branding will contains release information
Producing a beta
1. Obtaining and Preparing the Beta files
On Apache Jenkins
- You have to set up json file milestone content.
- Go to the https://builds.apache.org/view/M-R/view/NetBeans/job/netbeans-TLP/job/netbeans/
- Check that the build on release<version> and verify artefacts they should be branded with beta in their name. Cancel and relaunch build otherwise
- Determine the version of the release, e.g. 11.1-beta1, for the first beta. Later it's going to be referred as $VERSION
- Go to the netbeans-release job on Apache's Jenkins
- Build with Parameters, fill $VERSION into the VERSION input line and Build
- Wait for the job to be finished.
- Keep the build
On your computer
- Download and extract the build artifacts.
Check the SHA512 checksums:
Code Block language bash theme Midnight find . -name '*.sha512' -exec sha512sum --check '{}' \;
...
1. Obtaining and Preparing the Release Candidate Files
On Apache Jenkins
- You have to set up json file milestone content.
- Go to the https://builds.apache.org/view/M-R/view/NetBeans/job/netbeans-TLP/job/netbeans/
- Check that the build on release<version> and verify artefacts they should be branded with beta in their name. Cancel and relaunch build otherwise
- Determine the version of the release, e.g. 11.0-vc1, for voting candidate 1, later it's going to be referred as $VERSION
- Go to the netbeans-release job on Apache's Jenkins
- Build with Parameters, fill $VERSION into the VERSION input line and Build
- Wait for the job to be finished.
- Keep the build
On your computer
- Download and extract the build artifacts.
Check the SHA512 checksums:
Code Block language bash theme Midnight find . -name '*.sha512' -exec sha512sum --check '{}' \;
NB. check (and create if necessary) .sha512 files for nbm/updates.xml and nbm/tasks.jar
Sign the Release Files
Code Block language bash theme Midnight find . -name '*.zip' -exec gpg -u YOU@apache.org --armor --output {}.asc --detach-sign {} \; # Stop here if nbms are not going to be published find . -name '*.nbm' -exec gpg -u YOU@apache.org --armor --output {}.asc --detach-sign {} \; find . -name '*.gz' -exec gpg -u YOU@apache.org --armor --output {}.asc --detach-sign {} \; # nbm/updates.xml and nbm/tasks.jar added since NB 11.0 find . -name '*.jar' -exec gpg -u YOU@apache.org --armor --output {}.asc --detach-sign {} \; find . -name '*.xml' -exec gpg -u YOU@apache.org --armor --output {}.asc --detach-sign {} \;
Verify Signatures
Code Block language bash theme Midnight find . -name '*.asc' -exec gpg --verify {} \;
...