rjgoyln opened a new pull request, #72249: URL: https://github.com/apache/airflow/pull/72249
## Summary `unit/cli/conftest.py` imports the celery executor at module level, so with the provider uninstalled nothing under `unit/cli` collects at all — the first celery blocker to running the core suite in a scoped `uv sync --project airflow-core`. The rest are stand-ins: `CeleryExecutor` wherever a test wants an executor that is not local, `[celery]` wherever it wants an option a provider contributed. Where core has its own equivalent the stand-in is replaced rather than skipped, so the test keeps running in a celery-free environment. The provider-config toggle test moves to `[standard] venv_install_method`; its subject is the context manager, and the one property celery carried that `standard` does not — provider metadata beating `provider_config_fallback_defaults.cfg` — is what `test_provider_metadata_overrides_cfg_fallback` is for. The `TestProviderConfigPriority` rows are marked by the section that owns them, not by which of them fail. `[celery]` and `[celery_kubernetes_executor]` both come from `providers/celery/provider.yaml`, and several of their options resolve to the same value from the core-shipped cfg fallback, so those cases pass without the provider while proving nothing about provider metadata. `test_executor_loader.py`'s module-level `importorskip` hid the whole file rather than the four cases that need celery, so it becomes per-parameter. Its amazon `importorskip`, `unit/cli/conftest.py`'s cncf.kubernetes import and the dev-group entry itself all stay for the remaining slices. The celery CLI integration test moves under the provider. In `airflow-core/tests/integration` the celery integration is never started — `testable-core-integrations` is kerberos, otel and redis — so it has always skipped; under `providers/celery` it runs in the providers integration matrix. ## Tests Without `apache-airflow-providers-celery`, `airflow-core/tests/unit` and `tests/integration` collect clean (12873 items) where `unit/cli` previously failed outright, and the touched files skip instead of failing: 11 skips in `test_configuration.py`, 4 in `unit/executors`, 2 in `test_cli_parser.py`, one each in the scheduler and standalone command tests. With the provider installed nothing changes. `test_sensitive_values` and `test_providers_manager.py::test_cli` still fail in a scoped venv and are left alone — both assert against the full provider set and already miss keycloak and edge3 there, so neither is a celery problem. `markers.py` and `unit/cli/conftest.py` overlap #71868, where `skip_if_not_installed` is identical, so whichever lands second is a dedupe. related: #71641 --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 5) Generated-by: Claude Code (Opus 5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- 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]
