Skip to content
Salvatore Coppola edited this page Feb 7, 2024 · 1 revision

Version upticking

Kura version upticking (version bump and release) are performed automatically by a Github Action.

Here you'll find the instructions on how to perform a version uptick using the above mentioned Github Action

Instructions

Go in the "Actions" menu of the repo for which you'd like to perform the version uptick

Select the "Version uptick automation" workflow

Click on "Run workflow" and you'll be greeted by a small form

The workflow needs two parameters:

  • Target_branch: The branch on which to run the version uptick tool
  • Uptick_config: One of the available uptick tool configuration options.

Leave "Use workflow from" field to the default choice.

The available configurations should cover the most common scenarios:

  • uptick_snapshot_to_release.yml: Remove the snapshot qualifier for a maintenance branch for a new major/minor release (remove the snapshot qualifier for all project and bundles).
  • uptick_snapshot_to_patch_release.yml: Remove the snapshot qualifier for a maintenance branch for a patch release (remove the snapshot qualifier only for Kura, leave all remaining projects and bundles untouched)
  • uptick_major_on_develop_branch.yml: Uptick Major identifier on develop branch, preserving the snapshot qualifier and setting remaining version numbers to 0.
  • uptick_minor_on_develop_branch.yml: Uptick Minor identifier on develop branch, preserving the snapshot qualifier and setting remaining version numbers to 0.
  • uptick_patch_on_maintenance_branch.yml: Uptick maintenance branch from release to the next Patch number adding the snapshot qualifier.

When you're ready you can press the "Run workflow" button. The Action will open a new Pull Request containing the Release Notes on the desired branch.

image-20240207100717367

Additional Changes

You can then add any manual change by updating this PR.

The automatic tool covers most part of the work but there are some manual changes that must be done manually, an example can be found here: chore: automated uptick to 5.3.0-SNAPSHOT and chore: automated uptick to 5.2.1-SNAPSHOT

Example

Let's say we want to prepare the release-5.2.0 branch for the Kura 5.2.0 version release. We'll need to set the parameters as follows:

  • Target branch: release-5.2.0 since this is the release branch for the 5.2.* version
  • Uptick_config: uptick_snapshot_to_release.yml since we want to remove the snapshot qualifier for preparing the new minor release.

⚠️ Note: For this Github Action to work on branch others then the default one it needs to be backported to the desired branch. Failing to do so will generate an error during the workflow run because of the missing configuration files (the files inside .github/version_uptick_configs)

Release workflow model

  1. Manually branch off the maintenance branch from develop for the new release (let's call it 5.2.0)
  2. Since this is the .0 release all bundles need to be upticked from snapshot to release, therefore we need to run the uptick_snapshot_to_release configuration (5.2.0-snapshot5.2.0)
  3. After that we perform the release as described in this document.
  4. After the release we perform the uptick of the patch number running the uptick_path_on_maintenance_branch configuration (5.2.05.2.1-snapshot)
  5. Then we need to manually update the bundles affected by patches and keep track of the bundles that will require to be newly released in the build.properties file.
  6. Once a new release needs to be performed we need to run the uptick_snapshot_to_patch_release configuration since we need to remove the snapshot qualifier only from the Kura and the updated bundles. The qualifier removal for the updated bundles need to be performed manually. (5.2.1-snapshot5.2.1)
  7. After that we perform the release as described in this document
  8. Go to 4
Clone this wiki locally