ebarboni opened a new issue, #9493: URL: https://github.com/apache/netbeans/issues/9493
# Tracking for RELEASE 31 ## Week before freeze - [x] [[netbeans.git](https://github.com/apache/netbeans)] create/check milestone in github for version XX+1, should be NB XX+1 - [ ] [dev ml] Announce the feature freeze date on dev@ using [NOTICE] emails [Feature freeze announce template](https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+README#ApacheNetBeansReleaseREADME-Featurefreezedateannounce) - [ ] [[plugin repository](https://plugins.netbeans.apache.org)] Login to https://plugins.netbeans.apache.org/ and create a new version XX [NetBeans versions](https://plugins.netbeans.apache.org/admin/nb-versions) ## Freeze preparations - [ ] [[netbeans.git](https://github.com/apache/netbeans)] prepare RC issue template update PR https://github.com/apache/netbeans-jenkins-lib/labels/Release%20process [issue template](https://github.com/apache/netbeans/blob/master/.github/ISSUE_TEMPLATE/01-netbeans_bug_report.yml) (https://github.com/apache/netbeans/pull/9150/changes/e239f52ed64fa05def7b2c98389226e8f65c25b1) ## Freezing day and first release candidate - [ ] [[netbeans.git](https://github.com/apache/netbeans)]change the current milestone on all remaining open pull request to the next milestone NB XX+1 (use bulk edit in the PR table) - [ ] [[netbeans.git](https://github.com/apache/netbeans)] create/recreate delivery branch from master - [ ] [[netbeans.git](https://github.com/apache/netbeans)] create release branch from master - [ ] [dev ml] Announce feature freeze and branching on dev@ using [NOTICE] emails [Feature freeze and branching](https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+README#ApacheNetBeansReleaseREADME-Featurefreezeandbranching) - [ ] [[netbeans-antora.git](https://github.com/apache/netbeans-antora)] Add plugin center and update center redirects https://github.com/apache/netbeans-antora/blob/main/supplemental-ui/.htaccess. New release plugin centre should point to existing release plugins (XX-1) until rc3 to allow for plugin authors to request verification. - [ ] [jenkins,browser] check site if build in jenkins / also website - [ ] [[netbeans.git](https://github.com/apache/netbeans)] (PR https://github.com/apache/netbeans-jenkins-lib/labels/Release%20process ) Increment module spec versions on master for the next release using `ant increment-spec-versions`. **Master branch reopen on merge**, reply to previous [NOTICE] mail to inform - [ ] [[netbeans.git](https://github.com/apache/netbeans)] Create a tag on git XX-RC1 [action to create tag](https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+README#ApacheNetBeansReleaseREADME-Createatagongitrepo) and generate prerelease notes from previous version - [ ] [[netbeans-jenkins-lib.git](https://github.com/apache/netbeans-jenkins-lib)] Add the metadata about the release to [netbeansrelease.json](https://github.com/apache/netbeans-jenkins-lib/blob/master/meta/netbeansrelease.json), including a milestone for XX-rc1 using the hash from the release branch (eg. git show). This will be the last hash shared with any other branch. - [ ] [jenkins] Trigger a build for the release branch in the [Jenkins NetBeansTLP job](https://ci-builds.apache.org/job/Netbeans/job/netbeans-TLP/). a buildname with releaseXX0 should be present. A build may have started automatically but will likely not have picked up the latest metadata - if so, stop and restart. Build with parameters – '**push to nightly**'. This is about 2h - [ ] [RM computer] Download artefact or nightlies and check branding should be XX RC1 - [ ] [RM computer]If branding is correct => lock build. (branding incorrect often means json file out of sync during build) respin. - [ ] [dev ml] Announce RC1 on dev/user ML [RC Announce Template](https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+README#ApacheNetBeansReleaseREADME-AnnounceRCXX) - [ ] [mail] send mail to plugin dev - [ ] [[netbeans.git](https://github.com/apache/netbeans)] Add pinned discussion to the releasecandidate - [ ] [[netbeans.git](https://github.com/apache/netbeans)] merge prepared RC issue template PR - [ ] [[netbeans.git](https://github.com/apache/netbeans)] (PR https://github.com/apache/netbeans-jenkins-lib/labels/Release%20process ) Create a snapshot [see workflow](https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+README#ApacheNetBeansReleaseREADME-Preparesigtest) - [ ] [browser] check apidoc on [bits.netbeans.org](https://bits.netbeans.org/) have release XX ## Additional release candidates (rc2, rc3, ...) _This section should be copy pasted for each additional weekly release candidate_ #### PR synchronisation on first modification of delivery - [ ] [[netbeans.git](https://github.com/apache/netbeans)] (PR https://github.com/apache/netbeans-jenkins-lib/labels/Release%20process ) Sync delivery to releaseXXX for XX-rcN - [ ] [[netbeans.git](https://github.com/apache/netbeans)] (PR https://github.com/apache/netbeans-jenkins-lib/labels/Release%20process ) Sync delivery to master after XX-rcN #### on the new RC build date - [ ] [[netbeans.git](https://github.com/apache/netbeans)] merge the sync PR to releaseXXX. - [ ] [[netbeans-jenkins-lib.git](https://github.com/apache/netbeans-jenkins-lib)] Add the metadata about the release to [netbeansrelease.json](https://github.com/apache/netbeans-jenkins-lib/blob/master/meta/netbeansrelease.json) - [ ] [[netbeans.git](https://github.com/apache/netbeans)] Create a tag on git XX-RCn [action to create tag](https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+README#ApacheNetBeansReleaseREADME-Createatagongitrepo) and generate prerelease notes from previous version - [ ] [jenkins] Trigger a build for the release branch in the [Jenkins NetBeansTLP job](https://ci-builds.apache.org/job/Netbeans/job/netbeans-TLP/). a buildname with releaseXX0 should be present. A build may have started automatically but will likely not have picked up the latest metadata - if so, stop and restart. Build with parameters – '**push to nightly**'. This is about 2h - [ ] [RM computer] Download artefact or nightlies and check branding should be XX rcN - [ ] [RM computer] If branding is correct => lock build. (branding incorrect often means json file out of sync during build) respin. - [ ] [[netbeans.git](https://github.com/apache/netbeans)] merge the sync PR to master. - [ ] [dev/user ml] Announce rcN on dev/user ML [RC Announce Template](https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+README#ApacheNetBeansReleaseREADME-AnnounceRCXX) ## In sync with rc3 or week 3 - [ ] [[netbeans-antora.git](https://github.com/apache/netbeans-antora)] Update the plugin redirect for the coming release and dev to the new plugin center for version XX. ## Release preparation and vote _The release is always created from the same git hash as the last release candidate. Assuming no modifications on delivery, and at least 3 weeks from freeze (usually 3 RC), proceed to vote._ - [ ] [[netbeans-jenkins-lib.git](https://github.com/apache/netbeans-jenkins-lib)] Add the metadata about the release to [netbeansrelease.json](https://github.com/apache/netbeans-jenkins-lib/blob/master/meta/netbeansrelease.json) - [ ] [[netbeans.git](https://github.com/apache/netbeans)] Create a tag on git XX-RC1 [action to create tag](https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+README#ApacheNetBeansReleaseREADME-Createatagongitrepo) and generate draft release notes from previous version - [ ] [jenkins]Trigger a build for the release branch in the [Jenkins NetBeansTLP job](https://ci-builds.apache.org/job/Netbeans/job/netbeans-TLP/). a buildname with releaseXX0 should be present. A build may have started automatically but will likely not have picked up the latest metadata - if so, stop and restart. **Build with no parameter**. - [ ] [RM computer] If branding is correct => lock build. (branding incorrect often means json file out of sync during build) respin. ### - [ ] [RM computer] Download and extract the build artifacts. (everything in zip => archive.zip) - [ ] [RM computer] Check sha512 on archive/dist/netbeans (should be source and zip) - [ ] [dist svn] move file to svn "dev/netbeans/netbeans/XX" - [ ] [RM computer] sign file export` GPG_EMAIL="[email protected]";find . -name '*.zip' -exec gpg -u $GPG_EMAIL --armor --output {}.asc --detach-sign {} \;` - [ ] commit for vote preparation - [ ] [RM computer] on archive/mavenrepo do sign everything : `export GPG_EMAIL="[email protected]";find . \( -name '*.nbm' -o -name '*.xml' -o -name '*.pom' -o -name '*.sha1' -o -name "*.md5" -o -name "*.jar" \) -exec gpg -u $GPG_EMAIL --armor --output {}.asc --detach-sig {} \;` - [ ] [RM computer] upload to repository central (by default it will close the repository) `mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.7.0:deploy-staged-repository -DserverId=apache.releases.https -DnexusUrl=https://repository.apache.org -DstagingProfileId=20604114d0070e -DrepositoryDirectory=<pathofsignedartefacts>` - [ ] [dev ml] Send vote email to dev list [Vote mail template](https://cwiki.apache.org/confluence/display/NETBEANS/Apache+NetBeans+Release+README#ApacheNetBeansReleaseREADME-Mailforvote) - [ ] [[netbeans-antora-site.git](https://github.com/apache/netbeans-antora-site)] prepare site download page PR - [ ] [[netbeans-antora-site.git](https://github.com/apache/netbeans-antora-site)] prepare site blog entry page PR - [ ] [[netbeans-antora-ui.git](https://github.com/apache/netbeans-antora-ui)] prepare banner PR ## Release _Assuming successful release vote. If vote fails, return to process for generating another release candidate._ - [ ] [dev ml] Send mail to validate vote. - [ ] [dist svn] Move staged release files (`svn mv`) from "dev/netbeans/netbeans/XX" to "release/netbeans/netbeans/XX" - [ ] [apache maven repo] Release staged Maven artefacts - [ ] [[netbeans.git](https://github.com/apache/netbeans)] Publish GitHub release notes - [ ] [[netbeans.git](https://github.com/apache/netbeans)] close and unpin discussion for release XX - [ ] [[netbeans.git](https://github.com/apache/netbeans)] close milestone and move remaining issue for release XX - [ ] [[netbeans.git](https://github.com/apache/netbeans)] Update issue template for next iteration - [ ] [[netbeans-antora-ui.git](https://github.com/apache/netbeans-antora-ui)] Update website banner - [ ] [[netbeans-antora-site.git](https://github.com/apache/netbeans-antora-site)] Update website for release, merging new release page, blog post, and archiving of release XX-1 - [ ] [announce ml] Announce release via email, including [email protected] and [email protected] - [ ] [[netbeans.git](https://github.com/apache/netbeans)] Merge SNAPSHOT PR, or rebuild one ## Post-release (1 week) - [ ] [dist svn]Archive previous release by removing (`svn rm`) "release/netbeans/netbeans/XX-1" (archive.apache.org is automatically synced from dist.apache.org) - [ ] [[netbeans-antora.git](https://github.com/apache/netbeans-antora)] Update website [previous.xml](https://github.com/apache/netbeans-antora/blob/main/supplemental-ui/updates/previous.xml) to notify of new release. - [ ] [[netbeans-antora.git](https://github.com/apache/netbeans-antora)] Update .htaccess to point NetBeans XX-1 update center to previous.xml - [ ] [[netbeans-jenkins-lib.git](https://github.com/apache/netbeans-jenkins-lib)] Udpate the metadata about the releasexxx (release date) and master release date (previous date) [netbeansrelease.json](https://github.com/apache/netbeans-jenkins-lib/blob/master/meta/netbeansrelease.json) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
