Repository navigation
Conversation
There was a problem hiding this comment.
This adds needs.decide-runs.outputs.validate-sql == 'true' to the test-bqetl job's if condition, so the unit-test/lint suite also runs when the SQL changed-files set matches (sql/**, sql_generators/**, dags.yaml, bigquery_etl/query_scheduling/**, tests/sql/**), not just on validate-bqetl or deploy.
I verified the gap this closes: tests/jira/test_schema_contract.py, tests/jira/test_issues_schema_contract.py, tests/socorro_crash/test_socorro_crash.py, and tests/experiment_metric_configs/test_experiment_metric_configs.py all resolve the repo root and read the committed sql/ tree, and none carry the sql/routine/integration markers — so they are collected by test-bqetl's -m "not (routine or sql or integration)" run and were previously skipped on SQL-only PRs. The multiline if: | without a ${{ }} wrapper matches the existing report-checks job in the same file, and no needs: lists or downstream gating need to change.
Worth being aware of the cost side: since sql/** covers the majority of PRs in this repo, test-bqetl (full pytest suite plus black/flake8/isort/mypy/pydocstyle) now effectively runs on nearly every PR. That looks like the intended tradeoff given the tests above are real coverage for SQL changes. I have no inline findings.
Integration report
|
Description
Follow-up to #9824
Run Test bqetl CI task when changes are made to
sql/. The test bqetl CI step was meant to run when tooling changes were made. But over time query tests are no longer just intests/sql/but got added directly undertests/, so those tests aren't actually running without this change.See: https://mozilla.slack.com/archives/C01E8GDG80N/p1788986168051969
Reviewer, please follow this checklist