feat: Release/orca (#686) #403
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Merge | |
on: | |
push: | |
branches: [main] | |
paths-ignore: | |
- "*.md" | |
- ".github/**" | |
- ".github/graphics/**" | |
- "!.github/workflows/**" | |
workflow_dispatch: | |
inputs: | |
pr_no: | |
description: "PR-numbered container set to deploy" | |
type: number | |
required: true | |
concurrency: | |
# Do not interrupt previous workflows | |
group: ${{ github.workflow }} | |
cancel-in-progress: false | |
jobs: | |
vars: | |
name: Set Variables | |
outputs: | |
pr: ${{ steps.pr.outputs.pr }} | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
# Get PR number for squash merges to release | |
- name: PR Number | |
id: pr | |
uses: ./.github/actions/get-pr-number | |
- name: Set PR Output | |
run: echo "pr=${{ steps.pr.outputs.pr }}" >> $GITHUB_OUTPUT | |
create_release: | |
name: Create GitHub Release (Keep Version) | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
package: [backend, frontend, webeoc] | |
steps: | |
- uses: actions/checkout@v4 | |
# Retrieve the latest tag (from the release branch) | |
- name: Get Latest Tag | |
id: tag | |
run: | | |
git fetch --tags | |
latest_tag=$(git describe --tags --abbrev=0 --match "v*.*.*") | |
echo "::set-output name=latest_tag::$latest_tag" | |
echo "Latest tag: $latest_tag" | |
# Create GitHub Release using the last tag | |
- name: Create GitHub Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ steps.tag.outputs.latest_tag }} | |
name: Release ${{ steps.tag.outputs.latest_tag }} | |
body: | | |
## Changes in this release: | |
- New features and bug fixes. | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# https://github.com/bcgov/quickstart-openshift-helpers | |
deploy-prod: | |
name: Deploy (prod) | |
needs: [vars] | |
uses: bcgov/quickstart-openshift-helpers/.github/workflows/[email protected] | |
secrets: | |
oc_namespace: ${{ secrets.OC_NAMESPACE }} | |
oc_token: ${{ secrets.OC_TOKEN }} | |
with: | |
environment: prod | |
tag: ${{ needs.vars.outputs.pr }} | |
params: --set backend.deploymentStrategy=RollingUpdate | |
--set frontend.deploymentStrategy=RollingUpdate | |
--set global.autoscaling=true | |
--set frontend.pdb.enabled=true | |
--set backend.pdb.enabled=true | |
promote: | |
name: Promote Images | |
needs: [deploy-prod, vars] | |
runs-on: ubuntu-22.04 | |
permissions: | |
packages: write | |
strategy: | |
matrix: | |
package: [migrations, backend, frontend, webeoc] | |
timeout-minutes: 1 | |
steps: | |
- uses: shrink/actions-docker-registry-tag@v4 | |
with: | |
registry: ghcr.io | |
repository: ${{ github.repository }}/${{ matrix.package }} | |
target: ${{ needs.vars.outputs.pr }} | |
tags: prod |