ColtenOuO opened a new pull request, #70541:
URL: https://github.com/apache/airflow/pull/70541
### Summary
Adds the loading mechanism for a per-provider `testing_dags/` folder, so
Dags that
exist to exercise Airflow itself can be told apart from Dags that teach Dag
authoring.
**No Dags move in this PR.** Moving them happens one provider at a time in
follow-ups.
### Why
Example Dags currently serve four audiences at once: teaching Dag authoring,
backing
documentation snippets, verifying a deployment, and propping up CI. Because
they all
share one folder:
- a user who enables `[core] load_examples` also gets Dags that only exist
for testing
— `example_failed_dag` is designed to fail;
- nobody can safely delete a stale example without first checking whether a
test depends
on it. Today `example_failed_dag`, `example_skip_dag`,
`example_passing_params_via_test_command` and
`example_kubernetes_executor` are
referenced from `airflow-core/tests/unit/cli/`,
`airflow-core/tests/unit/api_fastapi/`,
`airflow-e2e-tests/` and `kubernetes-tests/`.
### What's in here
- `[core] load_testing_dags` config option, defaulting to `False` and
independent of
`load_examples`.
- `DagBundlesManager` discovers `<provider>/testing_dags/` and exposes it as
an
`apache-airflow-providers-*-testing-dags` bundle. The provider-resolution
loop added in
#66161 is factored out into `_iter_provider_module_paths()` so both folder
kinds share
it.
- `breeze shell` / `breeze start-airflow --load-testing-dags`, plumbed
through to
`AIRFLOW__CORE__LOAD_TESTING_DAGS`.
- `load_provider_testing_dags` pytest fixture in `tests_common`, so the
follow-up PRs can
pull these Dags into unit tests from both breeze and a local venv.
- Folder convention documented in
`contributing-docs/12_provider_distributions.rst`.
Since no provider ships a `testing_dags/` folder yet, this is inert for
existing
deployments.
related: #52475
---
##### Was generative AI tooling used to co-author this PR?
- [X] Yes — Claude Code (Opus 5)
---
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]