Skip to content

Run lang-SDK K8s system test once in a dedicated job instead of 6x#69500

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:lang-sdk-dedicated-k8s-job
Jul 7, 2026
Merged

Run lang-SDK K8s system test once in a dedicated job instead of 6x#69500
potiuk merged 1 commit into
apache:mainfrom
potiuk:lang-sdk-dedicated-k8s-job

Conversation

@potiuk

@potiuk potiuk commented Jul 6, 2026

Copy link
Copy Markdown
Member

The Multi-Lang KubernetesExecutor coordinator system test (added in #68709)
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). Each of those six
system-test jobs paid ~4 extra minutes of Go/Java build + coordinator run,
pushing them to ~20 min — well above the rest of the matrix, and the source of
the recurring "K8S System:KubernetesExecutor-*-false" CI duration-trend alerts.

The test is executor/naming/version-independent, so this runs it once: 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,
and no --upgrade. The regular system-test matrix no longer runs it at all, so
those six jobs drop back to ~15 min.

Also scopes the Go/Java build caches by runner.arch: the previous key used
only runner.os (Linux), which would collide between amd64 and arm64 now that
the dedicated job runs on both.

Follow-up to #69411 (native lang-SDK toolchain build + caching).


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 4.8)

Generated-by: Claude Code (Opus 4.8) following the guidelines

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.
@potiuk potiuk force-pushed the lang-sdk-dedicated-k8s-job branch from ad1fdd6 to 6ce612a Compare July 6, 2026 22:43

@jason810496 jason810496 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@potiuk potiuk merged commit 586e658 into apache:main Jul 7, 2026
149 checks passed
@potiuk potiuk deleted the lang-sdk-dedicated-k8s-job branch July 7, 2026 00:53
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Backport failed to create: v3-3-test. View the failure log Run details

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-3-test Commit Link

You can attempt to backport this manually by running:

cherry_picker 586e658 v3-3-test

This should apply the commit to the v3-3-test branch and leave the commit in conflict state marking
the files that need manual conflict resolution.

After you have resolved the conflicts, you can continue the backport process by running:

cherry_picker --continue

If you don't have cherry-picker installed, see the installation guide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants