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 db083087088 Update specification of sources and docs for selective
checks (#61967)
db083087088 is described below
commit db083087088ce8fa5a904aa72601130f177ae997
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sun Feb 15 22:05:36 2026 +0100
Update specification of sources and docs for selective checks (#61967)
Some of the doc-only changes also triggered source tests unnecesarily.
This PR applies more consistent specification for file types in our
monorepo for the selective checks to be able to make better decisions
on what type of jobs to run for PR.
---
.../src/airflow_breeze/utils/selective_checks.py | 39 +++++++++++++---------
dev/breeze/tests/test_selective_checks.py | 26 ++++++---------
2 files changed, 33 insertions(+), 32 deletions(-)
diff --git a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
index 477889d3448..422b256e55d 100644
--- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
+++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
@@ -210,20 +210,21 @@ CI_FILE_GROUP_MATCHES: HashableDict[FileGroupForCi] =
HashableDict(
r"^docs",
r"^devel-common/src/docs",
r"^\.github/SECURITY\.md",
- r"^airflow-core/src/.*\.py$",
- r"^airflow-core/docs/",
- r"^providers/.*/src/",
- r"^providers/.*/tests/",
r"^providers/.*/docs/",
+ r"^providers/.*/src/.*\.py$",
+ r"^providers/.*/tests/system/.*\.py$",
r"^providers-summary-docs",
r"^docker-stack-docs",
r"^chart",
r"^task-sdk/docs/",
- r"^task-sdk/src/",
- r"^airflow-ctl/src/",
- r"^airflow-core/tests/system",
- r"^airflow-ctl/src",
+ r"^task-sdk/src/.*\.py$",
+ r"^task-sdk/tests/.*\.py$",
+ r"^airflow-core/docs/",
+ r"^airflow-core/src/.*\.py$",
+ r"^airflow-core/tests/system/.*\.py$",
r"^airflow-ctl/docs",
+ r"^airflow-ctl/src/.*\.py$",
+ r"^airflow-ctl/tests/.*\.py$",
r"^CHANGELOG\.txt",
r"^airflow-core/src/airflow/config_templates/config\.yml",
r"^chart/RELEASE_NOTES\.rst",
@@ -264,14 +265,20 @@ CI_FILE_GROUP_MATCHES: HashableDict[FileGroupForCi] =
HashableDict(
],
FileGroupForCi.ALL_SOURCE_FILES: [
r"^.pre-commit-config.yaml$",
- r"^airflow-core/.*",
- r"^airflow-ctl/.*",
- r"^chart/.*",
- r"^providers/.*",
- r"^task-sdk/.*",
- r"^devel-common/.*",
- r"^kubernetes-tests/.*",
- r"^docker-tests/.*",
+ r"^airflow-core/src/.*",
+ r"^airflow-core/tests/.*",
+ r"^airflow-ctl/src/.*",
+ r"^airflow-ctl/tests/.*",
+ r"^chart/templates/.*",
+ r"^providers/.*/src/.*",
+ r"^providers/.*/tests/.*",
+ r"^task-sdk/src/.*",
+ r"^task-sdk/tests/.*",
+ r"^devel-common/src/.*",
+ r"^devel-common/tests/.*",
+ r"^helm-tests/tests/.*",
+ r"^kubernetes-tests/tests/.*",
+ r"^docker-tests/tests/.*",
r"^dev/.*",
],
FileGroupForCi.SYSTEM_TEST_FILES: [
diff --git a/dev/breeze/tests/test_selective_checks.py
b/dev/breeze/tests/test_selective_checks.py
index fa75cd43937..57b5340292e 100644
--- a/dev/breeze/tests/test_selective_checks.py
+++ b/dev/breeze/tests/test_selective_checks.py
@@ -395,7 +395,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str,
str], stderr: str):
"run-helm-tests": "false",
"run-unit-tests": "true",
"run-amazon-tests": "false",
- "docs-build": "true",
+ "docs-build": "false",
"skip-prek-hooks":
ALL_SKIPPED_COMMITS_IF_NO_UI_AND_HELM_TESTS,
"run-kubernetes-tests": "false",
"upgrade-to-newer-dependencies": "false",
@@ -439,7 +439,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str,
str], stderr: str):
"run-helm-tests": "false",
"run-unit-tests": "true",
"run-amazon-tests": "false",
- "docs-build": "true",
+ "docs-build": "false",
"skip-prek-hooks":
ALL_SKIPPED_COMMITS_IF_NO_UI_AND_HELM_TESTS,
"run-kubernetes-tests": "false",
"upgrade-to-newer-dependencies": "false",
@@ -467,7 +467,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str,
str], stderr: str):
"mypy-checks": "['mypy-providers']",
"skip-providers-tests": "false",
},
- id="Selected Providers and docs should run when system tests
are modified",
+ id="Selected Providers should run when system tests are
modified",
)
),
(
@@ -864,15 +864,12 @@ def assert_outputs_are_printed(expected_outputs:
dict[str, str], stderr: str):
"ci-image-build": "true",
"prod-image-build": "true",
"run-helm-tests": "true",
- "run-unit-tests": "true",
+ "run-unit-tests": "false",
"docs-build": "true",
"skip-prek-hooks":
ALL_SKIPPED_COMMITS_IF_NO_PROVIDERS_AND_UI,
"run-amazon-tests": "false",
"run-kubernetes-tests": "true",
"upgrade-to-newer-dependencies": "false",
- "core-test-types-list-as-strings-in-json": json.dumps(
- [{"description": "Always", "test_types": "Always"}]
- ),
"providers-test-types-list-as-strings-in-json": None,
"run-mypy": "false",
"mypy-checks": "[]",
@@ -921,7 +918,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str,
str], stderr: str):
"prod-image-build": "false",
"run-helm-tests": "false",
"run-unit-tests": "true",
- "docs-build": "true",
+ "docs-build": "false",
# no python files changed so flynt should not run
"skip-prek-hooks": "flynt," +
ALL_SKIPPED_COMMITS_IF_NO_UI_AND_HELM_TESTS,
"run-kubernetes-tests": "false",
@@ -959,7 +956,7 @@ def assert_outputs_are_printed(expected_outputs: dict[str,
str], stderr: str):
"run-helm-tests": "false",
"run-unit-tests": "true",
"run-amazon-tests": "false",
- "docs-build": "true",
+ "docs-build": "false",
"skip-prek-hooks": ALL_SKIPPED_COMMITS_IF_NO_UI_AND_HELM_TESTS,
"run-kubernetes-tests": "false",
"upgrade-to-newer-dependencies": "false",
@@ -1034,7 +1031,7 @@ def assert_outputs_are_printed(expected_outputs:
dict[str, str], stderr: str):
"run-helm-tests": "false",
"run-unit-tests": "true",
"run-amazon-tests": "false",
- "docs-build": "true",
+ "docs-build": "false",
"run-kubernetes-tests": "false",
"skip-prek-hooks": ALL_SKIPPED_COMMITS_IF_NO_UI_AND_HELM_TESTS,
"upgrade-to-newer-dependencies": "false",
@@ -1193,7 +1190,7 @@ def assert_outputs_are_printed(expected_outputs:
dict[str, str], stderr: str):
"python-versions-list-as-string":
DEFAULT_PYTHON_MAJOR_MINOR_VERSION,
"ci-image-build": "true",
"run-helm-tests": "true",
- "run-unit-tests": "true",
+ "run-unit-tests": "false",
"run-amazon-tests": "false",
"docs-build": "true",
"skip-prek-hooks":
"check-provider-yaml-valid,flynt,identity,ts-compile-lint-simple-auth-manager-ui,ts-compile-lint-ui",
@@ -2047,10 +2044,7 @@ def test_expected_output_push(
"run-helm-tests": "false",
"run-unit-tests": "true",
"skip-providers-tests": "false",
- "docs-build": "true",
- "docs-list-as-string": "apache-airflow task-sdk amazon
common.compat common.io common.sql "
- "databricks dbt.cloud ftp google microsoft.mssql mysql "
- "openlineage oracle postgres sftp snowflake standard trino",
+ "docs-build": "false",
"skip-prek-hooks": ALL_SKIPPED_COMMITS_ON_NO_CI_IMAGE,
"run-kubernetes-tests": "false",
"upgrade-to-newer-dependencies": "false",
@@ -2927,7 +2921,7 @@ def
test_testable_providers_integrations_excludes_disabled():
):
# Test with AMD runner - should exclude mssql (disabled for all CI)
selective_checks_amd = SelectiveChecks(
- files=("providers/tests/test_example.py",),
+ files=("providers/amazon/tests/test_example.py",),
commit_ref=NEUTRAL_COMMIT,
github_event=GithubEvents.PULL_REQUEST,
)