Re-add merge queue, but only run sanity checks#7672
Merged
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub. 2 Skipped Deployments
|
Re-add merge_group trigger to frontend_checks.yml so that typecheck, lint, format, and unit tests run in the merge queue (~5-6 min). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
erosselli
approved these changes
Mar 17, 2026
lucanovera
approved these changes
Mar 17, 2026
Contributor
lucanovera
left a comment
There was a problem hiding this comment.
For frontend we're good with just keeping the frontend_checks.yml that includes lint, typecheck and unit tests. approved
Contributor
Greptile SummaryThis PR reconfigures the GitHub Actions merge queue to run only lightweight sanity checks (container startup + migration verification + frontend unit/type checks) instead of the full test suite, reducing queue drain time from 30+ minutes to ~10 minutes and reducing flakiness from redundant test runs. Key changes:
Confidence Score: 5/5
Important Files Changed
Last reviewed commit: 5e7f9e4 |
Keep merge_group triggers on all workflows so their summary jobs still report a status (required by branch protection), but skip the actual work on merge_group events since those checks already passed on the PR. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Configures the merge queue to only run lightweight sanity checks instead of the full test suite, drastically reducing queue drain time and flakiness.
merge_grouptrigger from most non-backend workflows (static checks, CLI, Cypress, Chromatic)merge_grouptrigger on Frontend Code Checks (typecheck, lint, format, unit tests — ~5-6 min)Safe-Tests,Misc-Tests,Pytest-Redis-Cluster,Collect-Tests) onmerge_groupeventsmerge_groupfrom thePytest-Ctl-Externalunsafe test conditionThe full test suite still runs on
pull_requestandpushto main/release — this only affects what runs inside the merge queue after a PR is already approved and enqueued.What's changing
On
maintoday, every workflow triggers onmerge_groupand runs its full suite — the same jobs that run onpull_request. This means every test runs twice: once on the PR, and again in the merge queue. That's the source of the slowness and flakiness.This PR changes the merge queue to only run a sanity-check subset:
main(before)merge_grouptrigger)merge_grouptrigger)merge_grouptrigger)merge_grouptrigger)merge_grouptrigger)merge_grouptrigger)Additionally,
Pytest-Ctl-Externalpreviously ran onmerge_groupevents (alongsidepushand therun unsafe ci checkslabel). This PR removes themerge_groupcondition so it only runs onpushto main or with the label.CI suite breakdown: what runs when
1. On pull request (must pass to enter merge queue)
Check-Container-Startup(webserver + Celery worker),Migration-Checks(check_migrations,check_migration_downgrade),Misc-Tests(check_fides_annotations,fides_db_scan,docs_check,minimal_config_startup),Safe-Tests(ctl-not-external,ops-unit-api,ops-unit-non-api,ops-integration,api,lib,misc-unit,misc-integration),Pytest-Redis-Cluster,Collect-TestsBackend-Checks-Summaryruff(check),mypy,check_install,pytest(nox)Static-Checks-SummaryFrontend-Checks-Summaryfides --versioninstall smoke testCLI-Checks-SummaryAdmin-UI-Cypress-SummaryPrivacy-Center-Cypress-SummaryFidesJS-Cypress-Summaryclients/fidesui/**changedPytest-Ctl-External,External-Datastores,External-SaaS-Connectorsrun unsafe ci checkslabelAll workflows are gated by path filters — they skip entirely if no relevant files changed.
2. On merge queue (must pass to merge into main)
Backend Code Checks and Frontend Code Checks trigger on
merge_group. All other workflows are skipped.Check-Backend-Changes(path filter),Build(Docker image),Check-Container-Startup(webserver + Celery worker),Migration-Checks(check_migrations+check_migration_downgrade),Backend-Checks-SummaryCheck-Frontend-Changes(path filter),Clients-Unit(typecheck, lint, format, unit tests),Frontend-Checks-SummarySkipped on merge queue:
Collect-Tests,Safe-Tests,Misc-Tests,Pytest-Redis-Cluster, all unsafe tests, static checks, CLI checks, Cypress tests, Chromatic.This is the key change — the queue runs in ~10 min instead of 30+, draining faster with less flakiness, while still catching the main risks: migration head conflicts (that can't be detected as merge conflicts) and frontend type/test regressions.
3. On push to main / release branches (post-merge)
Everything from the PR suite runs again, plus the unsafe external tests run unconditionally (no label needed):
Pytest-Ctl-ExternalExternal-DatastoresExternal-SaaS-ConnectorsThese run with
max-parallel: 1to avoid collisions on shared external resources.To complete rollout
When re-enabling the merge queue in repo settings, the required status checks should be:
Backend-Checks-SummaryFrontend-Checks-SummaryThe other workflow summary checks should not be listed as merge queue requirements since those workflows no longer trigger on
merge_group.Test plan
pull_request)Backend-Checks-SummaryandFrontend-Checks-Summaryas required🤖 Generated with Claude Code