Feat/596 implement edit applicant info screen #1759
Workflow file for this run
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: PR | |
on: | |
pull_request: | |
concurrency: | |
# PR open and close use the same group, allowing only one at a time | |
group: pr-${{ github.event.number }} | |
cancel-in-progress: true | |
jobs: | |
init: | |
name: Initialize | |
env: | |
DOMAIN: apps.silver.devops.gov.bc.ca | |
PREFIX: ${{ github.event.repository.name }}-${{ github.event.number }} | |
runs-on: ubuntu-22.04 | |
permissions: | |
pull-requests: write | |
steps: | |
- name: PR Greeting | |
uses: bcgov-nr/action-pr-description-add@v1.1.0 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
add_markdown: | | |
--- | |
Thanks for the PR! | |
Any successful deployments (not always required) will be available below. | |
[Backend](https://${{ env.PREFIX }}-backend.${{ env.DOMAIN }}/) | |
[Frontend](https://${{ env.PREFIX }}-frontend.${{ env.DOMAIN }}/) | |
[Oracle-API](https://${{ env.PREFIX }}-oracle-api.${{ env.DOMAIN }}/) | |
Once merged, code will be promoted and handed off to following workflow run. | |
[Main Merge Workflow](https://github.com/${{ github.repository }}/actions/workflows/merge-main.yml) | |
- name: OpenShift Init | |
uses: bcgov-nr/action-deployer-openshift@v2.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 ZONE=${{ github.event.number }} | |
-p NAME=${{ github.event.repository.name }} | |
-p ORACLE_DB_USER=${{ secrets.DB_USER }} | |
-p ORACLE_DB_PASSWORD='${{ secrets.DB_PASSWORD }}' | |
-p FORESTCLIENTAPI_KEY='${{ secrets.FORESTCLIENTAPI_KEY }}' | |
-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 }}' | |
triggers: ('common/' 'database/' 'backend/' 'frontend/' 'oracle-api/') | |
builds: | |
name: Builds | |
needs: | |
- init | |
runs-on: ubuntu-22.04 | |
permissions: | |
packages: write | |
strategy: | |
matrix: | |
package: [database, backend, frontend, oracle-api] | |
include: | |
- package: database | |
triggers: ('database/') | |
- package: backend | |
triggers: ('backend/') | |
- package: frontend | |
triggers: ('frontend/') | |
- package: oracle-api | |
triggers: ('oracle-api/') | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: bcgov-nr/action-builder-ghcr@v2.0.0 | |
with: | |
package: ${{ matrix.package }} | |
tag: ${{ github.event.number }} | |
tag_fallback: test | |
token: ${{ secrets.GITHUB_TOKEN }} | |
triggers: ${{ matrix.triggers }} | |
deploys: | |
name: Deploys | |
needs: | |
- builds | |
- init | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
name: [database, backend, fluentbit, frontend, oracle-api] | |
include: | |
- name: database | |
file: database/openshift.deploy.yml | |
parameters: | |
-p DB_PVC_SIZE=128Mi | |
overwrite: false | |
triggers: ('common/' 'database/' 'backend/' 'frontend/') | |
- name: backend | |
file: backend/openshift.deploy.yml | |
overwrite: true | |
parameters: | |
-p MIN_REPLICAS=1 | |
-p MAX_REPLICAS=1 | |
-p BUILD=snapshot-${{ github.event.number }} | |
-p AWS_COGNITO_ISSUER_URI=https://cognito-idp.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.VITE_USER_POOLS_ID }} | |
triggers: ('common/' 'database/' 'backend/' 'frontend/') | |
verification_path: "actuator/health" | |
- name: fluentbit | |
file: common/openshift.fluentbit.yml | |
overwrite: true | |
triggers: ('common/' 'database/' 'backend/' 'frontend/' 'oracle-api/') | |
- name: frontend | |
file: frontend/openshift.deploy.yml | |
overwrite: true | |
parameters: | |
-p VITE_SPAR_BUILD_VERSION=snapshot-${{ github.event.number }} | |
-p VITE_NRSPARWEBAPP_VERSION=dev | |
-p MIN_REPLICAS=1 | |
-p MAX_REPLICAS=1 | |
-p VITE_USER_POOLS_ID=${{ vars.VITE_USER_POOLS_ID }} | |
-p VITE_USER_POOLS_WEB_CLIENT_ID=${{ vars.VITE_USER_POOLS_WEB_CLIENT_ID }} | |
triggers: ('common/' 'database/' 'backend/' 'oracle-api/' 'frontend/') | |
- name: oracle-api | |
file: oracle-api/openshift.deploy.yml | |
overwrite: true | |
parameters: | |
-p NR_SPAR_ORACLE_API_VERSION=snapshot-${{ github.event.number }} | |
-p MIN_REPLICAS=1 | |
-p MAX_REPLICAS=1 | |
-p AWS_COGNITO_ISSUER_URI=https://cognito-idp.${{ vars.AWS_REGION }}.amazonaws.com/${{ vars.VITE_USER_POOLS_ID }} | |
triggers: ('common/' 'oracle-api/') | |
verification_path: "actuator/health" | |
steps: | |
- uses: bcgov-nr/action-deployer-openshift@v2.0.0 | |
with: | |
file: ${{ matrix.file }} | |
oc_namespace: ${{ vars.OC_NAMESPACE }} | |
oc_server: ${{ vars.OC_SERVER }} | |
oc_token: ${{ secrets.OC_TOKEN }} | |
overwrite: ${{ matrix.overwrite }} | |
penetration_test: false | |
parameters: | |
-p ZONE=${{ github.event.number }} | |
-p NAME=${{ github.event.repository.name }} | |
${{ matrix.parameters }} | |
triggers: ${{ matrix.triggers }} | |
verification_path: ${{ matrix.verification_path}} | |
cypress-test-coverage: | |
name: Cypress Test and Coverage | |
needs: [deploys] | |
runs-on: ubuntu-22.04 | |
env: | |
CYPRESS_PASSWORD: ${{ secrets.CYPRESS_PASSWORD }} | |
CYPRESS_USERNAME: ${{ secrets.CYPRESS_USERNAME }} | |
VITE_SERVER_URL: https://${{ github.event.repository.name }}-${{ github.event.number }}-backend.apps.silver.devops.gov.bc.ca | |
VITE_ORACLE_SERVER_URL: https://nr-spar-test-oracle-api.apps.silver.devops.gov.bc.ca | |
VITE_USER_POOLS_ID: ${{ vars.VITE_USER_POOLS_ID }} | |
VITE_USER_POOLS_WEB_CLIENT_ID: ${{ vars.VITE_USER_POOLS_WEB_CLIENT_ID }} | |
VITE_ZONE: TEST | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run Cypress CI | |
uses: bcgov-nr/action-test-and-analyse@v1.1.0 | |
with: | |
node_version: "18" | |
commands: | | |
npm i | |
npm run cy:ci | |
dir: frontend | |
sonar_args: > | |
-Dsonar.organization=bcgov-sonarcloud | |
-Dsonar.javascript.lcov.reportPaths=cypress-coverage/lcov.info | |
-Dsonar.projectKey=nr-spar_frontend | |
-Dsonar.sources=src/ | |
-Dsonar.exclusions=src/__test__/**/* | |
-Dsonar.exclusions=src/mock-server/**/* | |
-Dsonar.test.inclusions=cypress/e2e/smoke-test/**/* | |
sonar_token: ${{ secrets.SONAR_FRONTEND }} | |
- name: Upload videos | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: cypress-videos-chrome | |
path: /home/runner/work/nr-spar/nr-spar/frontend/cypress/videos/ | |
- name: Upload coverage | |
uses: actions/upload-artifact@v3 | |
if: success() | |
with: | |
name: cypress-coverage | |
path: /home/runner/work/nr-spar/nr-spar/frontend/cypress-coverage | |
# tests-api: | |
# name: API Tests | |
# needs: | |
# - deploys | |
# env: | |
# TARGET: ${{ github.event.repository.name }}-${{ github.event.number }}-oracle-api.apps.silver.devops.gov.bc.ca | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: actions/setup-node@v3 | |
# with: | |
# node-version: 16 | |
# - run: | | |
# # Install newman | |
# npm install -g newman | |
# npm install -g newman-reporter-htmlextra | |
# mkdir -p testArtifacts | |
# - run: | | |
# # Run Postman Collection | |
# newman run oracle-api/test/postman/oracle-api.postman_collection.json \ | |
# -e oracle-api/test/postman/oracle-api.postman_environment.json \ | |
# --env-var "apiAddr=${{ env.TARGET }}" \ | |
# --env-var "releaseVer=snapshot-${{ github.event.number }}" \ | |
# tests-backend: | |
# name: Backend Tests | |
# needs: | |
# - deploys | |
# env: | |
# TARGET: ${{ github.event.repository.name }}-${{ github.event.number }}-backend.apps.silver.devops.gov.bc.ca | |
# runs-on: ubuntu-22.04 | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: actions/setup-node@v3 | |
# with: | |
# node-version: 16 | |
# - run: | | |
# # Install newman | |
# npm install -g newman | |
# npm install -g newman-reporter-htmlextra | |
# mkdir -p testArtifacts | |
# - run: | | |
# # Run Postman Collection | |
# newman run backend/test/postman/starting-api.postman_collection.json \ | |
# -e backend/test/postman/starting-api.postman_environment.json \ | |
# --env-var "apiAddr=${{ env.TARGET }}" \ | |
# --env-var "releaseVer=snapshot-${{ github.event.number }}" | |
# tests-frontend: | |
# name: Frontend Tests | |
# env: | |
# TARGET: ${{ github.event.repository.name }}-${{ github.event.number }}-backend.apps.silver.devops.gov.bc.ca | |
# needs: | |
# - deploys | |
# continue-on-error: true | |
# runs-on: ubuntu-22.04 | |
# timeout-minutes: 10 | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: actions/setup-node@v3 | |
# with: | |
# node-version: "16" | |
# cache: "npm" | |
# cache-dependency-path: frontend/package-lock.json | |
# - name: Install dependencies | |
# run: | | |
# cd frontend | |
# npm ci | |
# - name: Cypress run | |
# uses: cypress-io/github-action@v5 | |
# with: | |
# config: baseUrl=https://${{ env.TARGET }} | |
# install: false | |
# working-directory: frontend |