Skip to content

[v3-3-test] Run lang-SDK K8s system test once in a dedicated job, not 6x per run (#69500) - #69587

Merged
potiuk merged 1 commit into
apache:v3-3-testfrom
jason810496:backport-586e658-v3-3-test
Jul 8, 2026
Merged

[v3-3-test] Run lang-SDK K8s system test once in a dedicated job, not 6x per run (#69500)#69587
potiuk merged 1 commit into
apache:v3-3-testfrom
jason810496:backport-586e658-v3-3-test

Conversation

@jason810496

Copy link
Copy Markdown
Member

The Multi-Lang KubernetesExecutor coordinator system test was gated on KubernetesExecutor + use-standard-naming==false, but that condition is true once per kubernetes-combo, so it ran redundantly across all six Python/K8s combos on ci-amd (and again on ci-arm) - adding ~4 minutes of Go/Java build and coordinator run to each of those six system-test jobs and pushing them to ~20 minutes, well above the rest of the matrix.

The test is executor/naming/version-independent, so run it once instead: a dedicated tests-kubernetes-lang-sdk job on a single default Python-Kubernetes combo that provisions the native Go/Java toolchains (cached) and runs only the lang-SDK test (-k test_lang_sdk_combined_dag_succeeds), not the full suite or the upgrade path. The regular system-test matrix no longer runs it at all, so those six jobs drop back to ~15 minutes.

Also scope the Go/Java build caches by runner.arch: the previous key used only runner.os (Linux), which would collide between amd64 and arm64 runners now that the dedicated job runs on both.
(cherry picked from commit 586e658)

… 6x per run (apache#69500)
The Multi-Lang KubernetesExecutor coordinator system test was gated on
KubernetesExecutor + use-standard-naming==false, but that condition is true
once per kubernetes-combo, so it ran redundantly across all six Python/K8s
combos on ci-amd (and again on ci-arm) - adding ~4 minutes of Go/Java build
and coordinator run to each of those six system-test jobs and pushing them to
~20 minutes, well above the rest of the matrix.
The test is executor/naming/version-independent, so run it once instead: a
dedicated tests-kubernetes-lang-sdk job on a single default Python-Kubernetes
combo that provisions the native Go/Java toolchains (cached) and runs only the
lang-SDK test (-k test_lang_sdk_combined_dag_succeeds), not the full suite or
the upgrade path. The regular system-test matrix no longer runs it at all, so
those six jobs drop back to ~15 minutes.
Also scope the Go/Java build caches by runner.arch: the previous key used only
runner.os (Linux), which would collide between amd64 and arm64 runners now that
the dedicated job runs on both.
(cherry picked from commit 586e658)
Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
@potiuk
potiuk merged commit d700910 into apache:v3-3-testJul 8, 2026
117 checks passed
vatsrahul1001 pushed a commit that referenced this pull request Jul 9, 2026
… 6x per run (#69500) (#69587)
The Multi-Lang KubernetesExecutor coordinator system test was gated on
KubernetesExecutor + use-standard-naming==false, but that condition is true
once per kubernetes-combo, so it ran redundantly across all six Python/K8s
combos on ci-amd (and again on ci-arm) - adding ~4 minutes of Go/Java build
and coordinator run to each of those six system-test jobs and pushing them to
~20 minutes, well above the rest of the matrix.
The test is executor/naming/version-independent, so run it once instead: a
dedicated tests-kubernetes-lang-sdk job on a single default Python-Kubernetes
combo that provisions the native Go/Java toolchains (cached) and runs only the
lang-SDK test (-k test_lang_sdk_combined_dag_succeeds), not the full suite or
the upgrade path. The regular system-test matrix no longer runs it at all, so
those six jobs drop back to ~15 minutes.
Also scope the Go/Java build caches by runner.arch: the previous key used only
runner.os (Linux), which would collide between amd64 and arm64 runners now that
the dedicated job runs on both.
(cherry picked from commit 586e658)
Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
@vatsrahul1001vatsrahul1001 added the changelog:skip Changes that should be skipped from the changelog (CI, tests, etc..) label Jul 27, 2026
@vatsrahul1001vatsrahul1001 added this to the Airflow 3.3.1 milestone Jul 27, 2026
vatsrahul1001 pushed a commit that referenced this pull request Aug 5, 2026
… 6x per run (#69500) (#69587)
The Multi-Lang KubernetesExecutor coordinator system test was gated on
KubernetesExecutor + use-standard-naming==false, but that condition is true
once per kubernetes-combo, so it ran redundantly across all six Python/K8s
combos on ci-amd (and again on ci-arm) - adding ~4 minutes of Go/Java build
and coordinator run to each of those six system-test jobs and pushing them to
~20 minutes, well above the rest of the matrix.
The test is executor/naming/version-independent, so run it once instead: a
dedicated tests-kubernetes-lang-sdk job on a single default Python-Kubernetes
combo that provisions the native Go/Java toolchains (cached) and runs only the
lang-SDK test (-k test_lang_sdk_combined_dag_succeeds), not the full suite or
the upgrade path. The regular system-test matrix no longer runs it at all, so
those six jobs drop back to ~15 minutes.
Also scope the Go/Java build caches by runner.arch: the previous key used only
runner.os (Linux), which would collide between amd64 and arm64 runners now that
the dedicated job runs on both.
(cherry picked from commit 586e658)
Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dev-toolsarea:kubernetes-testschangelog:skipChanges that should be skipped from the changelog (CI, tests, etc..)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jason810496@potiuk@vatsrahul1001