Skip to content

Run Test bqetl CI task on SQL changes - #9858

Open
scholtzan wants to merge 1 commit into
mainfrom
test-bqetl-sql-changes
Open

scholtzan wants to merge 1 commit into
mainfrom
test-bqetl-sql-changes

Conversation

@scholtzan

Copy link
Copy Markdown
Contributor

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 in tests/sql/ but got added directly under tests/ , so those tests aren't actually running without this change.

See: https://mozilla.slack.com/archives/C01E8GDG80N/p1788986168051969

Reviewer, please follow this checklist

@scholtzan
scholtzan requested a review from a team as a code owner September 9, 2026 20:57

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@scholtzan
scholtzan enabled auto-merge September 9, 2026 20:59
@scholtzan

Copy link
Copy Markdown
Contributor Author

Integration report

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants