Release Process

1. Overview

The Java and Angular components are bundled together into a single deployable Java JAR and Docker container.

2. Release Steps

Follow these steps to release a new version:

2.1. 1. Prepare for Release

Ensure the product is ready for release:

  • Change any SNAPSHOT dependencies to static, immutable versions

  • Verify all tests pass

  • Update changelog and documentation as needed

2.2. 2. Execute Release Action

Run the Release Start GitHub Action:

  1. Navigate to the Actions tab in GitHub

  2. Select the "Release Start" workflow

  3. Click "Run workflow"

  4. Optionally specify the release version

    • Leave blank to use the next version (current version without -SNAPSHOT)

2.3. 3. Automated Release Process

The GitFlow release goal performs the following:

  1. Creates a release branch from develop

  2. Updates version numbers

  3. Runs final verification

  4. Merges to main branch

  5. Tags the release

  6. Merges back to develop with incremented version

  7. Deploys to the package registry via Maven deploy

3. Artifacts

The release process produces:

  • JAR file - Executable Spring Boot application

  • Docker image - Containerized application

  • Maven artifacts - Published to package registry