Skip to content

Merge

Merge #221

Workflow file for this run

name: Merge
on:
workflow_run:
workflows: [PR Closed]
types: [completed]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
jobs:
init-test:
name: TEST Init
environment: test
runs-on: ubuntu-22.04
steps:
- name: OpenShift Init
uses: bcgov-nr/action-deployer-openshift@v3.0.0
with:
oc_namespace: ${{ vars.OC_NAMESPACE }}
oc_server: ${{ vars.OC_SERVER }}
oc_token: ${{ secrets.OC_TOKEN }}
file: common/openshift.init.yml
overwrite: false
parameters:
-p AWS_KINESIS_STREAM='${{ secrets.AWS_KINESIS_STREAM }}'
-p AWS_KINESIS_ROLE_ARN='${{ secrets.AWS_KINESIS_ROLE_ARN }}'
-p AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}
-p AWS_ACCESS_KEY_SECRET='${{ secrets.AWS_ACCESS_KEY_SECRET }}'
-p ORACLE_DB_USER=${{ secrets.DB_USER }}
-p ORACLE_DB_PASSWORD='${{ secrets.DB_PASSWORD }}'
-p ZONE=test
deploys-test:
name: TEST Deployments
needs: [init-test]
environment: test
runs-on: ubuntu-22.04
permissions:
issues: write
strategy:
matrix:
name: [database, backend, frontend, fluentbit]
include:
- name: database
overwrite: false
file: database/openshift.deploy.yml
- name: backend
verification_path: actuator/health
file: backend/openshift.deploy.yml
timeout: 15m
parameters:
-p RESULTS_ENV_OPENSEARCH=test
-p AWS_COGNITO_ISSUER_URI=https://cognito-idp.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.VITE_USER_POOLS_ID }}
-p DASHBOARD_JOB_IDIR_USERS=${{ vars.DASHBOARD_JOB_IDIR_USERS }}
-p WMS_LAYERS_WHITELIST_USERS=${{ vars.WMS_LAYERS_WHITELIST_USERS }}
- name: frontend
file: frontend/openshift.deploy.yml
parameters:
-p VITE_USER_POOLS_WEB_CLIENT_ID=${{ vars.VITE_USER_POOLS_WEB_CLIENT_ID }}
-p FAM_ROUTE=test
- name: fluentbit
file: common/openshift.fluentbit.yml
overwrite: true
steps:
- uses: bcgov-nr/action-deployer-openshift@v3.0.0
with:
file: ${{ matrix.file }}
oc_namespace: ${{ vars.OC_NAMESPACE }}
oc_server: ${{ vars.OC_SERVER }}
oc_token: ${{ secrets.OC_TOKEN }}
overwrite: ${{ matrix.overwrite }}
parameters:
-p ZONE=test -p TAG=test
${{ matrix.parameters }}
timeout: ${{ matrix.timeout || '10m' }}
verification_path: ${{ matrix.verification_path }}
init-prod:
name: PROD Init
needs: [deploys-test]
environment: prod
runs-on: ubuntu-22.04
steps:
- name: OpenShift Init
uses: bcgov-nr/action-deployer-openshift@v3.0.0
with:
oc_namespace: ${{ vars.OC_NAMESPACE }}
oc_server: ${{ vars.OC_SERVER }}
oc_token: ${{ secrets.OC_TOKEN }}
file: common/openshift.init.yml
overwrite: false
parameters:
-p AWS_KINESIS_STREAM='${{ secrets.AWS_KINESIS_STREAM }}'
-p AWS_KINESIS_ROLE_ARN='${{ secrets.AWS_KINESIS_ROLE_ARN }}'
-p AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}
-p AWS_ACCESS_KEY_SECRET='${{ secrets.AWS_ACCESS_KEY_SECRET }}'
-p ORACLE_DB_USER=${{ secrets.DB_USER }}
-p ORACLE_DB_PASSWORD='${{ secrets.DB_PASSWORD }}'
-p ZONE=prod
image-promotions:
name: Promote images to PROD
needs: [deploys-test]
runs-on: ubuntu-22.04
permissions:
packages: write
strategy:
matrix:
component: [database, backend, frontend]
steps:
- uses: shrink/actions-docker-registry-tag@v4
with:
registry: ghcr.io
repository: ${{ github.repository }}/${{ matrix.component }}
target: test
tags: prod
deploys-prod:
name: PROD Deployments
needs: [init-prod, image-promotions]
environment: prod
runs-on: ubuntu-22.04
strategy:
matrix:
name: [database, backend, frontend, fluentbit]
include:
- name: database
overwrite: false
file: database/openshift.deploy.yml
- name: backend
verification_path: actuator/health
file: backend/openshift.deploy.yml
timeout: 15m
parameters:
-p RESULTS_ENV_OPENSEARCH=production
-p AWS_COGNITO_ISSUER_URI=https://cognito-idp.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.VITE_USER_POOLS_ID }}
-p DASHBOARD_JOB_IDIR_USERS=${{ vars.DASHBOARD_JOB_IDIR_USERS }}
-p WMS_LAYERS_WHITELIST_USERS=${{ vars.WMS_LAYERS_WHITELIST_USERS }}
- name: frontend
file: frontend/openshift.deploy.yml
parameters:
-p VITE_USER_POOLS_WEB_CLIENT_ID=${{ vars.VITE_USER_POOLS_WEB_CLIENT_ID }}
-p FAM_ROUTE=prod
- name: fluentbit
file: common/openshift.fluentbit.yml
overwrite: true
steps:
- uses: bcgov-nr/action-deployer-openshift@v3.0.0
with:
file: ${{ matrix.file }}
oc_namespace: ${{ vars.OC_NAMESPACE }}
oc_server: ${{ vars.OC_SERVER }}
oc_token: ${{ secrets.OC_TOKEN }}
overwrite: ${{ matrix.overwrite }}
parameters:
-p ZONE=prod -p TAG=prod
${{ matrix.parameters }}
timeout: ${{ matrix.timeout || '10m' }}
verification_path: ${{ matrix.verification_path }}