-
Notifications
You must be signed in to change notification settings - Fork 3
Release Process
Option 1: Concurrent Releases - when there are multiple release branches active at the same
-
Checkout the currently active release branch in Visual Studio Code
-
Ensure you have synchronized the latest changes
-
Create the release branch using the convention release/{release-name}

Note 1: More than 2 parallel release branches is not recommended.
Note 2: After one release branch is merged to main, the release branch should be rebased to main. This may cause some minor conflicts.
Option 2: Sequential Releases - when there is no active release branches
-
Checkout the main branch in Visual Studio Code
-
Ensure you have synchronized the latest changes
-
Create the release branch using the convention release/{release-name}
- Create a PR for your change in this repository.
- Once approved, this will push changes to the Gitops repo here: https://github.com/[bcgov-c/tenant-gitops-f280ae](https://github.com/bcgov-c/tenant-gitops-f280ae)
- This in turn invokes one of the Argo projects here: https://gitops-shared.apps.emerald.devops.gov.bc.ca
- There are 10 slots available in the development environment that can be deployed to. These slots are referred to as dev-0, dev-1, ..., dev-9. In order to determine which slot will be used the pipeline will take the last digit of your PR (e.g. for 123 = dev-3; 100 = dev-0 etc.)
Note that in the diagram below, images are automatically copied over from GHCR to Artifactory. This needs to be done because Github doesn't have a route to the Emerald Cluster, so we can't push images there directly. Emerald does have access to Artifactory though.

Feature branches merged to the release branch are deployed to test automatically.
-
Create a pull request to merge the contents of the release branch into main
-
Approve the pull request via the Files Changed Tab
-
Click on the actions tab and find the "Release to Production Workflow" then click "Run Workflow"

- You will be prompted to enter the branch name, enter it as directed and press Run workflow

- If the next release branch has already been created, rebase the in progress release branch with main from your favorite development tool (I don't believe you can do this from Github).
The hotfix release process is very similar to the regular release process with the following key differences:
- The hotfix branch is always created off the main branch
- The hotfix branch is named with the convention hotfix/{ticket-number}
- The hotfix code will be merged into it's own test environment to allow the regular testing not be interrupted