[ML] Skip Java ES integration tests for version-bump PRs (8.19) - #3089
Conversation
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>
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 Path 1 — topic branch (what the automation uses) — build 2852, throwaway PR #3097 from Path 2 — Both resolve via |
Summary
Backports the
ci:skip-es-tests/ version-bump topic-branch detection from the minor-version-bump automation (#3064) to the8.19release 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-SNAPSHOTin 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 onmain/9.5but was missing here.Changes (CI-only, self-contained):
.buildkite/ml_pipeline/config.py: addskip_version_bump_pr_ci(set by theci:skip-es-testslabel or aci/ml-cpp-version-bump-*/ci/ml-cpp-minor-freeze-main-*topic branch)..buildkite/pipeline.json.py: gate the ES-test upload steps onnot config.skip_version_bump_pr_ci.Test plan
pipeline.json.pygenerator: normal PR build keeps all ES-test steps; a version-bump branch (or theci:skip-es-testslabel) produces zero ES-test steps.8.19that the Java ES IT steps no longer appear.Made with Cursor