Skip to content

[ML] Skip Java ES integration tests for version-bump PRs (8.19) - #3089

Merged
edsavage merged 1 commit into
elastic:8.19from
edsavage:backport/skip-es-tests-8.19
Jul 22, 2026
Merged

[ML] Skip Java ES integration tests for version-bump PRs (8.19)#3089
edsavage merged 1 commit into
elastic:8.19from
edsavage:backport/skip-es-tests-8.19

Conversation

@edsavage

@edsavage edsavage commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

Backports the ci:skip-es-tests / version-bump topic-branch detection from the minor-version-bump automation (#3064) to the 8.19 release branch.

Automated patch version-bump PRs on release branches currently run the Java ES integration test pipelines, which fail spuriously: after the bump the ES branch still references the previous ml-cpp SNAPSHOT, so the build cannot resolve the dependency (e.g. Could not find org.elasticsearch.ml:ml-cpp:9.4.4-SNAPSHOT in ml-cpp-pr-builds #2825). The PR pipeline is generated from the checked-out branch, so the skip logic must exist on each release branch that receives version bumps — it is present on main/9.5 but was missing here.

Changes (CI-only, self-contained):

  • .buildkite/ml_pipeline/config.py: add skip_version_bump_pr_ci (set by the ci:skip-es-tests label or a ci/ml-cpp-version-bump-* / ci/ml-cpp-minor-freeze-main-* topic branch).
  • .buildkite/pipeline.json.py: gate the ES-test upload steps on not config.skip_version_bump_pr_ci.

Test plan

  • pipeline.json.py generator: normal PR build keeps all ES-test steps; a version-bump branch (or the ci:skip-es-tests label) produces zero ES-test steps.
  • Confirm on a real version-bump PR against 8.19 that the Java ES IT steps no longer appear.

Made with Cursor

Backport the ci:skip-es-tests / version-bump topic-branch detection from the
minor-version-bump automation (elastic#3064) so automated patch version-bump PRs on
this release branch skip the Java ES integration test pipelines. These tests
cannot resolve the ml-cpp SNAPSHOT dependency after a version bump (the ES
branch still references the previous patch), so they fail spuriously on what
are metadata-only changes.

The PR pipeline is generated from the checked-out branch, so this gating must
exist on each release branch that receives automated version bumps.

Co-authored-by: Cursor <cursoragent@cursor.com>
@edsavage
edsavage merged commit 94571de into elastic:8.19 Jul 22, 2026
23 checks passed
@edsavage

Copy link
Copy Markdown
Contributor Author

Test plan item 2 — verified non-destructively (8.19)

Confirmed on real 8.19 PR builds that the Java ES IT steps disappear, without performing any version bump (no version files touched, no release branch cut). Both trigger paths exercised; each build cancelled right after the dynamic-pipeline upload step.

Baseline (no trigger)build 2829, branch backport/skip-es-tests-8.19, no label: pipeline contains all four ES IT steps (Upload ES tests x86_64/aarch64 runner pipeline + Java Integration Tests for x86_64/aarch64).

Path 1 — topic branch (what the automation uses) — build 2852, throwaway PR #3097 from ci/ml-cpp-version-bump-8.19-verify into 8.19 (identical commits, zero version changes): 7 steps, 0 ES/IT steps. PR/branch closed & deleted.

Path 2 — ci:skip-es-tests labelbuild 2851, same non-topic branch + GITHUB_PR_LABELS=ci:skip-es-tests (exactly what the GitHub→Buildkite integration sets): 0 ES/IT steps, isolating the label as the sole cause.

Both resolve via config.skip_version_bump_pr_ci gating the ES-test uploads in .buildkite/pipeline.json.py.

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.

2 participants