✂️ Release Cut - dvsa/des-workflow-actions GitHub Wiki
Description
This workflows enables the creation of a release branch and/or release tag across all frontend and/or backend repositories contained within the repositories.json stored in AWS Secrets Manager. The base-branch
input is required when creating a release branch to indicate whether it should be cut from the default branch, or a previous release branch. The workflow includes a step to validate that the input branches match the pattern 'release.x.x.x'.
Release tags and release notes are automatically generated. Once a tag is generated for a repository, the 📋 Create Release Manifest workflow will build an artefact if one does not exist and generate the tfvars for that service for later use.
Workflow Triggers
On Workflow Call
This workflow is called from the des-devops repository when a release branch is required and/or when a release tag needs to be cut.
Environment Variables
Name | Description |
---|---|
GH_TOKEN | The GitHub token used for authentication |
Inputs
Name | Description | Options |
---|---|---|
base-branch | The name of the base branch to create the release branch from | N/A |
release-branch | The name of the release branch to be created | N/A |
create-release-branch | Whether to create the release branch | true | false |
create-release-tag | Whether to create the release tag | true | false |
release-type | What repositories to perform actions on | frontend | backend | full |
Notes
- The 'default' base branch input is transformed for each repository to the corresponding base branch detailed in the repo object in the repositories.json
- Supports the addition of new repositories being added to the repositories.json by falling back to the default branch on branch creation, and by setting the previous release tag (used for generating release changelog) to an empty string, which results in the
--notes-start-tag
argument not being set - Obtains list of release branches and tags from the first repo within the repositories.json for a release component to limit number of API calls made
[!IMPORTANT] When updating the repositories.json secret to add an additional repository, do not replace the first object in the corresponding component array (frontend/backend) as the release tag & branch history is pulled from the first object in the component array.