This is an automated email from the ASF dual-hosted git repository.
jason810496 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 09bba935c0f Skip Java SDK jobs for doc-only changes (#69674)
09bba935c0f is described below
commit 09bba935c0ffbf2633e9cf9a511dbfe6d7e2d1c5
Author: Andrew Chang <[email protected]>
AuthorDate: Sat Jul 11 04:04:30 2026 +0200
Skip Java SDK jobs for doc-only changes (#69674)
---
.../src/airflow_breeze/utils/selective_checks.py | 6 +++--
dev/breeze/tests/test_selective_checks.py | 28 ++++++++++++++++++++++
2 files changed, 32 insertions(+), 2 deletions(-)
diff --git a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
index b9c41a23c09..1edf4b4bfd7 100644
--- a/dev/breeze/src/airflow_breeze/utils/selective_checks.py
+++ b/dev/breeze/src/airflow_breeze/utils/selective_checks.py
@@ -237,7 +237,8 @@ CI_FILE_GROUP_MATCHES: HashableDict[FileGroupForCi] =
HashableDict(
r"^providers/common/messaging/.*",
],
FileGroupForCi.JAVA_SDK_E2E_FILES: [
- r"^java-sdk/.*",
+ # `.md` excluded — doc-only edits do not affect the Gradle build.
+ r"^java-sdk/(?!.*\.md$).*",
r"^airflow-e2e-tests/tests/airflow_e2e_tests/java_sdk_tests/.*",
r"^airflow-e2e-tests/docker/java\.yml$",
r"^airflow-e2e-tests/docker/Dockerfile\.java$",
@@ -445,7 +446,8 @@ CI_FILE_GROUP_MATCHES: HashableDict[FileGroupForCi] =
HashableDict(
r"^go-sdk/.*\.go$",
],
FileGroupForCi.JAVA_SDK_FILES: [
- r"^java-sdk/",
+ # `.md` excluded — doc-only edits do not affect the Gradle build.
+ r"^java-sdk/(?!.*\.md$).*",
],
FileGroupForCi.TS_SDK_FILES: [
r"^ts-sdk/",
diff --git a/dev/breeze/tests/test_selective_checks.py
b/dev/breeze/tests/test_selective_checks.py
index 6bb5056e9e2..530e6ad74aa 100644
--- a/dev/breeze/tests/test_selective_checks.py
+++ b/dev/breeze/tests/test_selective_checks.py
@@ -1433,6 +1433,24 @@ def assert_outputs_are_printed(expected_outputs:
dict[str, str], stderr: str):
},
id="Run java unit and e2e tests for java-sdk source change",
),
+ pytest.param(
+ ("java-sdk/README.md",),
+ {
+ "run-java-sdk-tests": "false",
+ "run-java-sdk-e2e-tests": "false",
+ "prod-image-build": "false",
+ },
+ id="Skip java unit and e2e tests for java-sdk README-only change",
+ ),
+ pytest.param(
+ ("java-sdk/adr/0001-java-sdk-airflow-integration.md",),
+ {
+ "run-java-sdk-tests": "false",
+ "run-java-sdk-e2e-tests": "false",
+ "prod-image-build": "false",
+ },
+ id="Skip java unit and e2e tests for java-sdk ADR-only change",
+ ),
pytest.param(
("airflow-e2e-tests/docker/java.yml",),
{
@@ -1667,6 +1685,16 @@ def test_expected_output_pull_request_main(
True,
id="ktlint skipped when no java-sdk files change",
),
+ pytest.param(
+ ("java-sdk/README.md",),
+ True,
+ id="ktlint skipped when only java-sdk docs change",
+ ),
+ pytest.param(
+ ("java-sdk/adr/0001-java-sdk-airflow-integration.md",),
+ True,
+ id="ktlint skipped when only java-sdk ADR docs change",
+ ),
],
)
def test_ktlint_hook_only_runs_for_java_sdk_changes(files: tuple[str, ...],
ktlint_skipped: bool):