Skip to content

Release process

Requirements

  1. A release process should be run withing macOS environment
  2. The machine should contain: homebrew - Package manager gh - Github CLI tool

Current setup

Current scripts run on GitHub actions environment with macos-latest os. Script could be found on path

Each push: - to master branch run Snapshot release - of tag v* run regular release

Triggering release

Manually

  1. Navigate to Github Actions
  2. Run job Generate release notes for next commit by using Run Workflow button
  3. After merging PR, the next tag will be pushed to repository
  4. Wait for CI job to finish

Automatically

  1. Release job will run each 1st day of month
  2. After merging PR, the next tag will be pushed to repository
  3. Wait for CI job to finish

CI Steps

  1. Gradle Build flankScripts and add it to PATH
  2. Set environment variables
  3. Delete old snapshot
  4. Gradle Build Flank
  5. Authenticate to hub
  6. Remove old release
  7. Rename old tag
  8. Release flank
    1. Snapshot for snapshot flow (push to master)
    2. Stable for regular flow (push tag v*)
  9. Publish binary for Maven Central
  10. Publish binary to GithubPackages (non snapshot only)