Skip to content

Merge pull request #2462 from bcgov/chore/cd-waste-update-classification #3435

Merge pull request #2462 from bcgov/chore/cd-waste-update-classification

Merge pull request #2462 from bcgov/chore/cd-waste-update-classification #3435

Workflow file for this run

# This is the main workflow which will orchestrate the other workflows:
name: main
on:
push:
branches: [develop, main]
pull_request:
branches: [develop, main]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
PGUSER: postgres
jobs:
check-nx-affected:
runs-on: ubuntu-latest
outputs:
NX_AFFECTED_E2E: ${{steps.check-nx-affected.outputs.NX_AFFECTED_E2E}}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: dev env setup
uses: ./.github/actions/dev-env-setup
- name: check nx affected target e2e:ci projects and save output
id: check-nx-affected
run: |
NX_AFFECTED_E2E=$(yarn nx show projects --affected --with-target e2e:ci --base=origin/develop)
echo "NX_AFFECTED_E2E="$NX_AFFECTED_E2E"" >> "$GITHUB_OUTPUT"
working-directory: ./bciers
shell: bash
build-administration:
uses: ./.github/workflows/build-administration.yaml
build-backend:
uses: ./.github/workflows/build-backend.yaml
build-coam:
uses: ./.github/workflows/build-coam.yaml
build-dashboard:
uses: ./.github/workflows/build-dashboard.yaml
build-dashboard-e2e:
uses: ./.github/workflows/build-dashboard-e2e.yaml
build-registration:
uses: ./.github/workflows/build-registration.yaml
build-registration1:
uses: ./.github/workflows/build-registration1.yaml
build-reporting:
uses: ./.github/workflows/build-reporting.yaml
test-code:
needs: [check-nx-affected]
uses: ./.github/workflows/test-code.yaml
test-backend:
needs: [build-backend, check-nx-affected]
uses: ./.github/workflows/test-backend.yaml
secrets: inherit
test-administration-e2e:
needs:
[
build-backend,
build-dashboard-e2e,
build-administration,
check-nx-affected,
]
uses: ./.github/workflows/test-nx-project-e2e.yaml
with:
image_url: "ghcr.io/bcgov/cas-admin-frontend"
is_nx_affected: ${{contains(needs.check-nx-affected.outputs.NX_AFFECTED_E2E, 'administration') || github.ref_name == 'develop' || github.ref_name == 'main' || github.head_ref == 'develop' || github.head_ref == 'main'}}
nx_app_port: 4001
nx_project: administration
secrets: inherit
test-coam-e2e:
needs: [build-backend, build-dashboard-e2e, build-coam, check-nx-affected]
uses: ./.github/workflows/test-nx-project-e2e.yaml
with:
image_url: "ghcr.io/bcgov/cas-coam-frontend"
is_nx_affected: ${{contains(needs.check-nx-affected.outputs.NX_AFFECTED_E2E, 'coam') || github.ref_name == 'develop' || github.ref_name == 'main' || github.head_ref == 'develop' || github.head_ref == 'main'}}
nx_app_port: 7000
nx_project: coam
secrets: inherit
test-dashboard-e2e:
needs:
[
build-administration,
build-backend,
build-coam,
build-dashboard-e2e,
build-registration,
build-reporting,
check-nx-affected,
]
uses: ./.github/workflows/test-nx-project-e2e.yaml
with:
docker_compose_file: "docker-compose-bciers-apps.yaml"
image_url: "ghcr.io/bcgov/cas-dash-frontend"
is_nx_affected: ${{contains(needs.check-nx-affected.outputs.NX_AFFECTED_E2E, 'dashboard') || github.ref_name == 'develop' || github.ref_name == 'main' || github.head_ref == 'develop' || github.head_ref == 'main'}}
nx_project: dashboard
secrets: inherit
test-registration-e2e:
needs:
[
build-backend,
build-dashboard-e2e,
build-registration,
check-nx-affected,
]
uses: ./.github/workflows/test-nx-project-e2e.yaml
with:
image_url: "ghcr.io/bcgov/cas-reg-frontend"
is_nx_affected: ${{contains(needs.check-nx-affected.outputs.NX_AFFECTED_E2E, 'registration') || github.ref_name == 'develop' || github.ref_name == 'main' || github.head_ref == 'develop' || github.head_ref == 'main'}}
nx_app_port: 4000
nx_project: registration
secrets: inherit
test-registration1-e2e:
needs: [build-backend, build-registration1, check-nx-affected]
uses: ./.github/workflows/test-registration1-e2e.yaml
secrets: inherit
test-reporting-e2e:
needs:
[build-backend, build-dashboard-e2e, build-reporting, check-nx-affected]
uses: ./.github/workflows/test-nx-project-e2e.yaml
with:
image_url: "ghcr.io/bcgov/cas-rep-frontend"
is_nx_affected: ${{contains(needs.check-nx-affected.outputs.NX_AFFECTED_E2E, 'reporting') || github.ref_name == 'develop' || github.ref_name == 'main' || github.head_ref == 'develop' || github.head_ref == 'main'}}
nx_app_port: 5000
nx_project: reporting
secrets: inherit
zap-owasp:
# We will need to set up the BCIERS apps to get zap scanned
needs: [build-backend, build-registration1, check-nx-affected]
uses: ./.github/workflows/zap-owasp.yaml
trivy:
uses: ./.github/workflows/trivy.yaml
codeql:
uses: ./.github/workflows/codeql.yaml