apache/airflow

Cleanup: Move remaining provider tests from airflow-core to support standalone uv sync

Open

#60770 opened on Jan 19, 2026

View on GitHub
 (7 comments) (0 reactions) (0 assignees)Python (44,809 stars) (16,781 forks)batch import
area:coregood first issuekind:bugneeds-triage

Description


Apache Airflow version

3.1.6

If "Other Airflow 3 version" selected, which one?

main (development)


What happened?

As part of the Airflow 3.x development effort, the repository is transitioning toward a stricter separation between airflow-core and provider packages.

Running:

cd airflow-core
uv sync

successfully creates a minimal core-only environment.

However, running the test suite in this environment reveals failures because some tests located in airflow-core still import provider modules (e.g. airflow.providers.*). Since providers and their dependencies are not installed in a core-only setup, those tests fail.

There is an existing TODO in contributing-docs/07_local_virtualenv.rst noting that standalone core development is not fully supported until remaining provider-dependent tests are moved out of airflow-core.

The current state prevents developers from running the core test suite independently without installing all providers.


What you think should happen instead?

airflow-core should be fully testable in isolation.

Specifically:

  • All tests under airflow-core should depend only on core functionality.
  • Tests that require provider functionality should be moved to the appropriate providers/* directories.
  • After cleanup, developers should be able to:
cd airflow-core
uv sync
pytest

and have the full core test suite pass without installing provider packages.

This aligns with the architectural goal of strict separation between core and providers and improves developer experience by reducing setup complexity and dependency surface area.


How to reproduce

  1. Clone the current main branch of the Airflow repository.
  2. Navigate to the core directory:
cd airflow-core
  1. Synchronize the environment:
uv sync
  1. Run the test suite:
pytest

Observe: Some tests fail due to imports from airflow.providers.*, indicating that provider-dependent tests still exist in the core test suite.


Operating System

Linux / macOS


Versions of Apache Airflow Providers

Not applicable (core-only environment)


Deployment

Other


Anything else?

This task is part of the broader Airflow 3.x effort to enforce clean separation between core and providers.

This PR will:

  • Identify provider-dependent tests currently under airflow-core
  • Move them to the appropriate provider packages
  • Ensure airflow-core tests pass in a standalone core-only environment

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Contributor guide