Merge #242
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: | |
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-24.04 | |
steps: | |
- name: OpenShift Init | |
uses: bcgov-nr/action-deployer-openshift@v3.0.1 | |
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 FORESTCLIENTAPI_KEY='${{ secrets.FORESTCLIENTAPI_KEY }}' | |
-p ZONE=test | |
deploys-test: | |
name: TEST Deployments | |
needs: [init-test] | |
environment: test | |
runs-on: ubuntu-24.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.1 | |
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-24.04 | |
steps: | |
- name: OpenShift Init | |
uses: bcgov-nr/action-deployer-openshift@v3.0.1 | |
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 FORESTCLIENTAPI_KEY='${{ secrets.FORESTCLIENTAPI_KEY }}' | |
-p ZONE=prod | |
image-promotions: | |
name: Promote images to PROD | |
needs: [deploys-test] | |
runs-on: ubuntu-24.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-24.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.1 | |
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 }} |