diff --git a/.github/workflows/backend_checks.yml b/.github/workflows/backend_checks.yml index 3299c6e2eb4..d1b018b9488 100644 --- a/.github/workflows/backend_checks.yml +++ b/.github/workflows/backend_checks.yml @@ -9,6 +9,11 @@ on: - "main" - "release-**" +# Merge queue strategy: only run container startup + migration checks on +# merge_group events as a lightweight sanity check. The full test suite +# runs on pull_request and push to main/release branches. This keeps the +# queue fast while still catching migration head conflicts. + concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} @@ -60,7 +65,7 @@ jobs: Collect-Tests: needs: Check-Backend-Changes - if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' + if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' && github.event_name != 'merge_group' runs-on: ubuntu-latest steps: - name: Checkout @@ -274,7 +279,7 @@ jobs: Misc-Tests: needs: [Check-Backend-Changes, Check-Container-Startup] - if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' + if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' && github.event_name != 'merge_group' strategy: matrix: test_selection: @@ -343,7 +348,7 @@ jobs: ################ Safe-Tests: needs: [Check-Backend-Changes, Check-Container-Startup] - if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' + if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' && github.event_name != 'merge_group' strategy: fail-fast: false matrix: @@ -426,7 +431,7 @@ jobs: Pytest-Redis-Cluster: needs: [Check-Backend-Changes, Check-Container-Startup] - if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' + if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' && github.event_name != 'merge_group' runs-on: ubuntu-latest timeout-minutes: 30 steps: @@ -490,7 +495,7 @@ jobs: Pytest-Ctl-External: needs: [Check-Backend-Changes, Check-Container-Startup] - if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' && (contains(github.event.pull_request.labels.*.name, 'run unsafe ci checks') || github.event_name == 'push' || github.event_name == 'merge_group') + if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' && (contains(github.event.pull_request.labels.*.name, 'run unsafe ci checks') || github.event_name == 'push') strategy: max-parallel: 1 # This prevents collisions in shared external resources runs-on: ubuntu-latest diff --git a/.github/workflows/chromatic.yml b/.github/workflows/chromatic.yml index 656aae6fe26..26136462e5c 100644 --- a/.github/workflows/chromatic.yml +++ b/.github/workflows/chromatic.yml @@ -43,7 +43,8 @@ jobs: chromatic: name: Run Chromatic needs: check-fidesui-changes - if: needs.check-fidesui-changes.outputs.has_fidesui_changes == 'true' + # Skip on merge_group — these checks already passed on the PR + if: needs.check-fidesui-changes.outputs.has_fidesui_changes == 'true' && github.event_name != 'merge_group' runs-on: ubuntu-latest steps: - name: Checkout code diff --git a/.github/workflows/cli_checks.yml b/.github/workflows/cli_checks.yml index 636a854a7b1..cb1fedb5a6d 100644 --- a/.github/workflows/cli_checks.yml +++ b/.github/workflows/cli_checks.yml @@ -47,7 +47,8 @@ jobs: # Basic smoke test of a local install of the fides Python CLI Fides-Install: needs: Check-CLI-Changes - if: needs.Check-CLI-Changes.outputs.has_cli_changes == 'true' + # Skip on merge_group — these checks already passed on the PR + if: needs.Check-CLI-Changes.outputs.has_cli_changes == 'true' && github.event_name != 'merge_group' runs-on: ubuntu-latest timeout-minutes: 20 steps: diff --git a/.github/workflows/cypress_admin-ui.yml b/.github/workflows/cypress_admin-ui.yml index cd64366dc3a..556200f6f31 100644 --- a/.github/workflows/cypress_admin-ui.yml +++ b/.github/workflows/cypress_admin-ui.yml @@ -41,7 +41,8 @@ jobs: prepare-matrix: needs: Check-Admin-UI-Changes - if: needs.Check-Admin-UI-Changes.outputs.has_admin_ui_changes == 'true' + # Skip on merge_group — these checks already passed on the PR + if: needs.Check-Admin-UI-Changes.outputs.has_admin_ui_changes == 'true' && github.event_name != 'merge_group' runs-on: ubuntu-latest outputs: spec_groups: ${{ steps.set-matrix.outputs.spec_groups }} diff --git a/.github/workflows/cypress_fides-js.yml b/.github/workflows/cypress_fides-js.yml index bad74f8505a..703c8af915f 100644 --- a/.github/workflows/cypress_fides-js.yml +++ b/.github/workflows/cypress_fides-js.yml @@ -42,7 +42,8 @@ jobs: Privacy-Center-Cypress: needs: Check-FidesJS-Changes - if: needs.Check-FidesJS-Changes.outputs.has_fidesjs_changes == 'true' + # Skip on merge_group — these checks already passed on the PR + if: needs.Check-FidesJS-Changes.outputs.has_fidesjs_changes == 'true' && github.event_name != 'merge_group' runs-on: ubuntu-latest defaults: run: diff --git a/.github/workflows/cypress_privacy-center.yml b/.github/workflows/cypress_privacy-center.yml index 44662ad8492..5c6212f1a61 100644 --- a/.github/workflows/cypress_privacy-center.yml +++ b/.github/workflows/cypress_privacy-center.yml @@ -42,7 +42,8 @@ jobs: Privacy-Center-Cypress: needs: Check-Privacy-Center-Changes - if: needs.Check-Privacy-Center-Changes.outputs.has_privacy_center_changes == 'true' + # Skip on merge_group — these checks already passed on the PR + if: needs.Check-Privacy-Center-Changes.outputs.has_privacy_center_changes == 'true' && github.event_name != 'merge_group' runs-on: ubuntu-latest defaults: run: diff --git a/.github/workflows/static_checks.yml b/.github/workflows/static_checks.yml index d3124181f9b..16cd512ea69 100644 --- a/.github/workflows/static_checks.yml +++ b/.github/workflows/static_checks.yml @@ -3,7 +3,7 @@ name: Backend Static Code Checks on: pull_request: merge_group: - types: [ checks_requested ] + types: [checks_requested] push: branches: - "main" @@ -51,7 +51,8 @@ jobs: ################### Static-Checks: needs: Check-Backend-Changes - if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' + # Skip on merge_group — these checks already passed on the PR + if: needs.Check-Backend-Changes.outputs.has_backend_changes == 'true' && github.event_name != 'merge_group' strategy: # We want to run all static checks even if some fail, so we set fail-fast to false fail-fast: false