Skip to content

477 speed up django tests #14126

477 speed up django tests

477 speed up django tests #14126

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]
types: [opened, synchronize, reopened, labeled]
workflow_dispatch:
merge_group:
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@v6
with:
fetch-depth: 0
sparse-checkout: |
bciers/
.github/
.tool-versions
bc_obps/.tool-versions
- name: dev env setup
uses: ./.github/actions/dev-env-setup-frontend
- 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
check-backend-changes:
uses: ./.github/workflows/check-backend-changes.yaml
check-frontend-changes:
uses: ./.github/workflows/check-frontend-changes.yaml
build-administration:
uses: ./.github/workflows/build-administration.yaml
build-backend:
uses: ./.github/workflows/build-backend.yaml
build-compliance:
uses: ./.github/workflows/build-compliance.yaml
build-compliance-e2e:
uses: ./.github/workflows/build-compliance-e2e.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-reporting:
uses: ./.github/workflows/build-reporting.yaml
test-code:
needs: [check-nx-affected, check-backend-changes, check-frontend-changes]
uses: ./.github/workflows/test-code.yaml
with:
backend_has_changes: ${{ (needs.check-backend-changes.outputs.has_changes || contains(github.event.pull_request.labels.*.name, 'run-all-ci')) && 'true' || 'false' }}
frontend_has_changes: ${{ (needs.check-frontend-changes.outputs.has_changes || contains(github.event.pull_request.labels.*.name, 'run-all-ci')) && 'true' || 'false' }}
test-backend:
needs: [check-backend-changes]
uses: ./.github/workflows/test-backend.yaml
with:
backend_has_changes: ${{ (needs.check-backend-changes.outputs.has_changes || contains(github.event.pull_request.labels.*.name, 'run-all-ci')) && 'true' || 'false' }}
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' || contains(github.event.pull_request.labels.*.name, 'run-all-ci') }}
nx_app_port: 4001
nx_project: administration
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' || contains(github.event.pull_request.labels.*.name, 'run-all-ci') }}
nx_app_port: 4000
nx_project: registration
secrets: inherit
test-dashboard-e2e:
needs:
[
build-administration,
build-backend,
build-compliance,
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' || contains(github.event.pull_request.labels.*.name, 'run-all-ci') }}
nx_project: dashboard
secrets: inherit
test-compliance-e2e:
needs:
[build-backend, build-dashboard-e2e, build-compliance, 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-compliance-frontend"
is_nx_affected: ${{contains(needs.check-nx-affected.outputs.nx_affected_e2e, 'compliance') || github.ref_name == 'develop' || github.ref_name == 'main' || github.head_ref == 'develop' || github.head_ref == 'main' || contains(github.event.pull_request.labels.*.name, 'run-all-ci') }}
nx_app_port: 7000
nx_project: compliance
secrets: inherit
trivy:
uses: ./.github/workflows/trivy.yaml
codeql:
uses: ./.github/workflows/codeql.yaml