Building a release

This page explains the steps to build a release for TASKANA.

Final preparation

TODO adapt to new github issues

  1. Log in into the deployed TASKANA application on bluemix after the last successful master build to do a final quality assurance on the UI.

  2. Generate the list of tickets and commits using the taskana-release-script tool:
    Example:

    hh@NB161248HH MINGW64 ~/TASKANA/git/taskana (tsk1322) $ ../taskana-release-script/start.sh TSK v3.1.0 upstream/master

     

  3. Generate the release notes, based on the gathered information on the current release page in confluence and the list of commits.

Create a release in GitHub

First step is to draft a new release on GitHub: https://github.com/Taskana/taskana/releases

In order to do so, tag the master branch with version like like this: “v1.2.3”

TASKANA follows the well known versioning convention:

  1. is the major version for redesigns, major changes and breaking changes

  2. is the minor version for significant new functionality

  3. is the patch version for small changes and bug fixes

 

Please provide a name and a description of the content of the release as well.

The release title is totally up to you. If you can’t find a good title just use the version number (last resort)

Typical description structure:

  • (optional): overall description

  • Current Release Notes

  • Complete list of features and fixes (Copied from the taskana-release-script)

As an example you can have a look at the older releases

After publishing the release, GitHub Actions will start building it. After Completion TASKANAs artifacts will be published to OSS Sonatype (https://oss.sonatype.org/). Please log in and further release those artifacts to Maven Central. While you wait for the pipeline to upload the artifacts, you can update our JIRA. Please read along. At the end is a description on how to release the artifacts to Maven Central.

Updating JIRA

TODO adapt to new github issues

While the release build is running, it is a perfect opportunity to update the Jira tickets. Use the dynamically generated filter from the taskana-release-script tool to get all tickets which were part of the release. For convenience that tool generates a url for you to visit.

 

Assign tickets to version

First set the version to the tickets. You can use the bulk change operation for this:

 

Move tickets to DONE

After assigning the tickets to the correct version, move them all to “DONE”. This can be done, again, using a bulk operation from the same ticket list.

After moving all tickets, go to our Jira board. In the top right corner you can complete the current sprint. Then go to the “Releases” tab, create a new version and release the old one. Finally go to the Backlog and start a new sprint. Hooray! Jira is updated. You’re done here

Releasing to Maven Central

Last step is to release the artifacts to Maven Central. This can be done in OSS Nexus. Please log in with the user “HolgerHagen”. If you don’t have the password, please ask @Holger Hagen (Unlicensed) or @Mustapha Zorgati . After login navigate to Staging Repositories (on the left). Then select the artifact from the list an click on “Release” in the navigation bar above. Confirm this action.

Hooray! You have successfully released TASKANA. Pat yourself on the shoulder and wait about 2 hours until the new TASKANA version arrives at maven central.