This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 82e5906de1a Exclude suspended providers from provider test selection
(#62832)
82e5906de1a is described below
commit 82e5906de1ab11dd5d0bf3689214de2ad7f08f02
Author: yuseok89 <[email protected]>
AuthorDate: Wed Mar 4 19:52:11 2026 +0900
Exclude suspended providers from provider test selection (#62832)
---
.../src/airflow_breeze/utils/selective_checks.py | 9 ++--
dev/breeze/tests/test_selective_checks.py | 48 ++++++++++------------
2 files changed, 28 insertions(+), 29 deletions(-)
diff --git a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
index 20b8d47a7b8..8470b1e0247 100644
--- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
+++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
@@ -1134,11 +1134,13 @@ class SelectiveChecks:
else:
candidate_test_types.add("Providers")
elif affected_providers:
+ suspended = set(get_suspended_provider_ids())
+ providers_to_test = [p for p in affected_providers if p not in
suspended]
if split_to_individual_providers:
- for provider in affected_providers:
+ for provider in providers_to_test:
candidate_test_types.add(f"Providers[{provider}]")
else:
-
candidate_test_types.add(f"Providers[{','.join(sorted(affected_providers))}]")
+
candidate_test_types.add(f"Providers[{','.join(sorted(providers_to_test))}]")
sorted_candidate_test_types = sorted(candidate_test_types)
get_console().print("[warning]Selected providers test type candidates
to run:[/]")
get_console().print(sorted_candidate_test_types)
@@ -1443,7 +1445,8 @@ class SelectiveChecks:
return None
if isinstance(affected_providers, AllProvidersSentinel):
return ""
- return " ".join(sorted(affected_providers))
+ suspended = set(get_suspended_provider_ids())
+ return " ".join(sorted(p for p in affected_providers if p not in
suspended))
def get_job_label(self, event_type: str, branch: str):
import requests
diff --git a/dev/breeze/tests/test_selective_checks.py
b/dev/breeze/tests/test_selective_checks.py
index fff9917e8f2..3ac9f26f1cf 100644
--- a/dev/breeze/tests/test_selective_checks.py
+++ b/dev/breeze/tests/test_selective_checks.py
@@ -385,7 +385,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str,
str], stderr: str):
pytest.param(
("providers/apache/beam/tests/unit/apache/beam/file.py",),
{
- "selected-providers-list-as-string": "apache.beam
common.compat google",
+ "selected-providers-list-as-string": "common.compat
google",
"all-python-versions":
f"['{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}']",
"all-python-versions-list-as-string":
DEFAULT_PYTHON_MAJOR_MINOR_VERSION,
"python-versions":
f"['{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}']",
@@ -405,17 +405,16 @@ def assert_outputs_are_printed(expected_outputs:
dict[str, str], stderr: str):
"providers-test-types-list-as-strings-in-json": json.dumps(
[
{
- "description": "apache.beam,c...google",
- "test_types":
"Providers[apache.beam,common.compat] Providers[google]",
+ "description": "common.compat...google",
+ "test_types": "Providers[common.compat]
Providers[google]",
}
]
),
"individual-providers-test-types-list-as-strings-in-json":
json.dumps(
[
{
- "description": "apache.beam...google",
- "test_types": "Providers[apache.beam] "
- "Providers[common.compat] Providers[google]",
+ "description": "common.compat...google",
+ "test_types": "Providers[common.compat]
Providers[google]",
}
]
),
@@ -429,7 +428,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str,
str], stderr: str):
pytest.param(
("providers/apache/beam/tests/unit/apache/beam/file.py",),
{
- "selected-providers-list-as-string": "apache.beam
common.compat google",
+ "selected-providers-list-as-string": "common.compat
google",
"all-python-versions":
f"['{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}']",
"all-python-versions-list-as-string":
DEFAULT_PYTHON_MAJOR_MINOR_VERSION,
"python-versions":
f"['{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}']",
@@ -449,17 +448,16 @@ def assert_outputs_are_printed(expected_outputs:
dict[str, str], stderr: str):
"providers-test-types-list-as-strings-in-json": json.dumps(
[
{
- "description": "apache.beam,c...google",
- "test_types":
"Providers[apache.beam,common.compat] Providers[google]",
+ "description": "common.compat...google",
+ "test_types": "Providers[common.compat]
Providers[google]",
}
]
),
"individual-providers-test-types-list-as-strings-in-json":
json.dumps(
[
{
- "description": "apache.beam...google",
- "test_types": "Providers[apache.beam] "
- "Providers[common.compat] Providers[google]",
+ "description": "common.compat...google",
+ "test_types": "Providers[common.compat]
Providers[google]",
}
]
),
@@ -477,7 +475,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str,
str], stderr: str):
"providers/apache/beam/tests/unit/apache/beam/file.py",
),
{
- "selected-providers-list-as-string": "apache.beam
common.compat google",
+ "selected-providers-list-as-string": "common.compat
google",
"all-python-versions":
f"['{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}']",
"all-python-versions-list-as-string":
DEFAULT_PYTHON_MAJOR_MINOR_VERSION,
"python-versions":
f"['{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}']",
@@ -497,17 +495,16 @@ def assert_outputs_are_printed(expected_outputs:
dict[str, str], stderr: str):
"providers-test-types-list-as-strings-in-json": json.dumps(
[
{
- "description": "apache.beam,c...google",
- "test_types":
"Providers[apache.beam,common.compat] Providers[google]",
+ "description": "common.compat...google",
+ "test_types": "Providers[common.compat]
Providers[google]",
}
]
),
"individual-providers-test-types-list-as-strings-in-json":
json.dumps(
[
{
- "description": "apache.beam...google",
- "test_types": "Providers[apache.beam] "
- "Providers[common.compat] Providers[google]",
+ "description": "common.compat...google",
+ "test_types": "Providers[common.compat]
Providers[google]",
}
]
),
@@ -525,7 +522,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str,
str], stderr: str):
"providers/apache/beam/tests/unit/apache/beam/file.py",
),
{
- "selected-providers-list-as-string": "apache.beam
common.compat google",
+ "selected-providers-list-as-string": "common.compat
google",
"all-python-versions":
f"['{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}']",
"all-python-versions-list-as-string":
DEFAULT_PYTHON_MAJOR_MINOR_VERSION,
"python-versions":
f"['{DEFAULT_PYTHON_MAJOR_MINOR_VERSION}']",
@@ -545,17 +542,16 @@ def assert_outputs_are_printed(expected_outputs:
dict[str, str], stderr: str):
"providers-test-types-list-as-strings-in-json": json.dumps(
[
{
- "description": "apache.beam,c...google",
- "test_types":
"Providers[apache.beam,common.compat] Providers[google]",
+ "description": "common.compat...google",
+ "test_types": "Providers[common.compat]
Providers[google]",
}
]
),
"individual-providers-test-types-list-as-strings-in-json":
json.dumps(
[
{
- "description": "apache.beam...google",
- "test_types": "Providers[apache.beam] "
- "Providers[common.compat] Providers[google]",
+ "description": "common.compat...google",
+ "test_types": "Providers[common.compat]
Providers[google]",
}
]
),
@@ -1944,7 +1940,7 @@ def test_expected_output_push(
"providers/google/tests/unit/google/file.py",
),
{
- "selected-providers-list-as-string": "amazon apache.beam
apache.cassandra apache.kafka "
+ "selected-providers-list-as-string": "amazon apache.cassandra
apache.kafka "
"cncf.kubernetes common.compat common.messaging common.sql
databricks "
"facebook google hashicorp http microsoft.azure
microsoft.mssql mysql "
"openlineage oracle postgres presto salesforce samba sftp ssh
standard trino",
@@ -1970,7 +1966,7 @@ def test_expected_output_push(
[
{
"description": "amazon...standard",
- "test_types": "Providers[amazon]
Providers[apache.beam,apache.cassandra,"
+ "test_types": "Providers[amazon]
Providers[apache.cassandra,"
"apache.kafka,cncf.kubernetes,common.compat,common.messaging,common.sql,databricks,facebook,"
"hashicorp,http,microsoft.azure,microsoft.mssql,mysql,"
"openlineage,oracle,postgres,presto,salesforce,samba,sftp,ssh,trino] "