Skip to content

Apache NetBeans 31 Release Checklist #9493

Description

@ebarboni

Tracking for RELEASE 31

Week before freeze

Freeze preparations

Freezing day and first release candidate

  • [netbeans.git]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] create/recreate delivery branch from master
  • [netbeans.git] create release branch from master
  • [dev ml] Announce feature freeze and branching on dev@ using [NOTICE] emails Feature freeze and branching
  • [netbeans-antora.git] Add plugin center and update center redirects https://github.com/apache/netbeans-antora/blob/main/supplemental-ui/.htaccess. New release plugin center 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] (PR Release process PRs (eg. versions, sync) that are part of the release process and can be ignored in release notes. ) 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] Create a tag on git XX-RC1 action to create tag and generate prerelease notes from previous version
  • [netbeans-jenkins-lib.git] Add the metadata about the release to 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. 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
  • [mail] send mail to plugin dev
  • [netbeans.git] Add pinned discussion to the releasecandidate
  • [netbeans.git] merge prepared RC issue template PR
  • [netbeans.git] (PR Release process PRs (eg. versions, sync) that are part of the release process and can be ignored in release notes. ) Create a snapshot see workflow
  • [browser] check apidoc on 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] (PR Release process PRs (eg. versions, sync) that are part of the release process and can be ignored in release notes. ) Sync delivery to releaseXXX for XX-rcN
  • [netbeans.git] (PR Release process PRs (eg. versions, sync) that are part of the release process and can be ignored in release notes. ) Sync delivery to master after XX-rcN

on the new RC build date

  • [netbeans.git] merge the sync PR to releaseXXX.
  • [netbeans-jenkins-lib.git] Add the metadata about the release to netbeansrelease.json
  • [netbeans.git] Create a tag on git XX-RCn action to create tag and generate prerelease notes from previous version
  • [jenkins] Trigger a build for the release branch in the Jenkins NetBeansTLP job. 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] merge the sync PR to master.
  • [dev/user ml] Announce rcN on dev/user ML RC Announce Template

In sync with rc3 or week 3

  • [netbeans-antora.git] 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] Add the metadata about the release to netbeansrelease.json
  • [netbeans.git] Create a tag on git XX-RC1 action to create tag and generate draft release notes from previous version
  • [jenkins]Trigger a build for the release branch in the Jenkins NetBeansTLP job. 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="YOU@apache.org";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="YOU@apache.org";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
  • [netbeans-antora-site.git] prepare site download page PR
  • [netbeans-antora-site.git] prepare site blog entry page PR
  • [netbeans-antora-ui.git] prepare banner PR

Release

Assuming successful release vote. If vote fails, return to process for generating another release candidate.

Post-release (1 week)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Release processPRs (eg. versions, sync) that are part of the release process and can be ignored in release notes.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions