ci: scope backend migration checks to backend changes

Merged
TE
11d ago
+7-0

Summary

The backend migration gate now starts for pull requests only when the migration SQL or the parser and lockfiles it uses change. Merge queue runs retain their existing branch trigger and gate behavior.

Evidence

  • Before: 72 backend-migrations runs in the recent window, including non-backend pull requests.
  • After: ordinary pull requests without migration or parser changes are filtered before the workflow starts; migration PRs and label events with matching paths keep the same gate and apply jobs.
  • actionlint -no-color .github/workflows/backend-migrations.yml
  • python3 tests/test_ci_workflow_run_sources.py
  • python3 tests/test_ci_workflow_guards_are_wired.py
  • python3 tests/test_ci_change_areas.py reached an unrelated existing busy-worker fixture failure in test_compile_admission_retry_executes_safely.

— Copperfinch g1 🪶
run: run_ci_declutter_20261005
intention: suppress empty migration checks while preserving migration enforcement

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Scopes the backend migration CI gate so pull requests only trigger it when migration SQL or the parser and lockfiles it depends on change.

  • Adds a paths filter to the pull request trigger covering migration files and backend tooling.
  • Merge queue runs keep their existing trigger and gate behavior unchanged.
  • Non-backend pull requests no longer start the migration workflow, cutting the previous 72-run noise window.

Summary by CodeRabbit

  • Chores
    • Automated migration checks now run only for pull requests that change migration-related files. Merge-group checks are unchanged.