Skip to content

Release Process

afwilcox edited this page Nov 26, 2024 · 8 revisions

Creating a release branch

Option 1: Concurrent Releases - when there are multiple release branches active at the same

  1. Checkout the currently active release branch in Visual Studio Code

  2. Ensure you have synchronized the latest changes

  3. Create the release branch using the convention release/{release-name}

image

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

  1. Checkout the main branch in Visual Studio Code

  2. Ensure you have synchronized the latest changes

  3. Create the release branch using the convention release/{release-name}

Migration to Test

Precondition: A pull request has been approved and merged into a release branch

  1. Click on the actions tab and find the most recent pending merge to release action

image

  1. Click on review deployments, select the test environment and then approve and deploy

image

  1. Verify that the deployment completes

Migration to Prod

  1. Check to see if there is a Case Management component to the release, if so follow the instructions here: https://github.com/bcgov/nr-compliance-enforcement-cm/wiki/Release-Process

  2. Create a pull request to merge the contents of the release branch into main

  3. Approve the pull request via the Files Changed Tab

  4. Click on the actions tab and find the "Release to Production Workflow" then click "Run Workflow"

image

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

image

  1. 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).

Hotfix Release Process

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