Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Creating a maintenance release branch

However, if we do hotfixes or maintenance releases for an older release, we will do it for a branch for that release.

...

Code Block
git checkout YOUR_TAGNAME_HERE -b YOUR_TAGNAME_HERE-maintenance

This will create a branch from that tag, with the same name as the tag.

...

Code Block
git checkout YOUR_TAGNAME_HERE-maintenance

You can now merge in commits from the master branch

Update changelog

Find changes since last commit using

Code Block
git log

Then update the changelog and make sure it lists these changes:

Code Block
vi CHANGELOG.md

 Newer versions are at the top of the changelog.

Make sure embedded documentation and configuration is correct

Check that bundled configuration files and documentation is still correct for the new version.

Configuration files should be found in

Code Block
src/main/config

and documentation should be found in

Code Block
README.md

or referenced from there.

Do a clean build

To check the code builds, run

Code Block
mvn clean verify

There should be no errors.

Run Maven Release plugin - prepare

Run

Code Block
mvn release:prepare

You will be prompted to resolve SNAPSHOT dependencies if there are any.

For each SNAPSHOT dependency, you need to resolve, whether you should use:

  • The previous released version - if so replace e.g. 1.7-SNAPSHOT with 1.6
  • The next released version - if so replace e.g. 1.7-SNAPSHOT with 1.7 (this assumes it has been released - otherwise you need to release that dependency first)

For the development version, you should usually use the next SNAPSHOT version after the one you release with - e.g if you release with a dependency of 1.7, set the development version to 1.8-SNAPSHOT

You will also be prompted for which version number you wish to use for release, in development and in tagnames. Accept the defaults.

EXCEPTION: When we do a major release version, bump e.g. 1.7-SNAPSHOT to 2.0 on release and 2.1-SNAPSHOT in development.

Run Maven Release Plugin - perform

Prerequisites

You have added sbforge nexus to you maven settings, and are allowed to upload to sbforge nexus.

Your pom contains information about git repository and (usually thorugh a parent pom) maven repository (nexus) 

Perform the release

Run

Code Block
mvn release:perform

This should run without errors and upload the commit to nexus.

Push commits to Github

Run

Code Block
git push

to push commits to Github

Create wikipage

Create a page with information about the release, following the same template as e.g. this page:

Batch Structure Checker - release 1.9

Autonomous components are all subpages to this page:

Autonomous Components

Other components are subpages to this page:

Components

Send package to IT Operations

 Send an email referring to the wiki page to IT Operations.

Ask them to install it to the stage system.

It may be helpful to visit their office and talk about the package.