Skip to content

release workflow

Raymond Meester edited this page Sep 27, 2023 · 2 revisions

This guide shows how to release Assimbly.

1. Creating a new release

When releasing a new version, we use GitHub Actions to automate the release tasks. For all the actions to work properly, you need to follow the following steps:

  • Go to issues tab and create a "New Issue".
    • Give the issue a title like "Release 4.0.3".

    • Add the correct release label:

      • Major: For major releases like 1.0.0
      • Minor: For minor releases like 1.1.0
      • Patch: For patch releases like 1.1.1
    • Add the milestone (in our case 4.0.3).

This will automatically trigger the GitHub Action "Start release". You can check the progress under the "Actions". This action automatically updates all develop branches (Gateway, Runtime, Base, Custom-Components) to the new milestone. In our example, all develop branches gets the release number "4.0.3-SNAPSHOT".

2. Development

After the release is started, you can normally work on issues. Just create an issue (or use an already created one) and attach a pull request to it. When finished, the pull request is merged with develop.

Every night, a daily snapshot is created for the milestone in development. This means all snapshot packages are updated for every repository including Docker images.

3. Release a new version

When the development for a release is finished then you can release it officially. All you need to do is to close the release ticket.

On closing of the ticket a GitHub Action (Finish release) is started that:

  1. Creates a branch from the develop branch and removes SNAPSHOT from the version number. The new branch has the name of the milestone.
  2. Merge the new milestone branch into 'main'.
  3. Build from 'main' all packages (jar files and docker images) for all related repositories.
  4. Create the draft release notes.

You can check the progress under the tab "Actions" where the action "Finish release" will run. When this GitHub Action workflow is finished, you will see the new release at releases on the Gateway repository. There you can publish the release.

Clone this wiki locally