Repository navigation
[ML] Support pinning Elasticsearch to a commit SHA in QA/PyTorch runs - #3228
Merged
Merged
Conversation
Add an optional ES_COMMIT passthrough to the appex-qa trigger generated by both run_qa_tests.yml.sh (QA-only and combined QA+PyTorch runs) and run_pytorch_tests.yml.sh (the debug pipeline's PyTorch run). When ES_COMMIT is set in the build environment it is forwarded to the downstream appex-qa-stateful-custom-ml-cpp-build-testing build, where qaf-tests (ElasticsearchRepoTask) checks out that exact commit after cloning ES_BRANCH. This mirrors the existing ES_BRANCH / STACK_VERSION handling and lets us test an ml-cpp build against a contemporaneous Elasticsearch source revision rather than the moving tip of a branch. That is essential when the current ES main has advanced past an ml-cpp artifact (e.g. the verifyControllerProtocolVersion compatibility gate), which otherwise fails the local ES distribution build before any QA workload runs. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Pinging @elastic/ml-core (Team:ML) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds an optional
ES_COMMITpassthrough to theappex-qa-stateful-custom-ml-cpp-build-testingtrigger generated by:.buildkite/pipelines/run_qa_tests.yml.sh— the generator used byml-cpp-pr-buildsfor QA-only and combined QA + PyTorch runs.buildkite/pipelines/run_pytorch_tests.yml.sh— the generator used by the debug pipeline's PyTorch runWhen
ES_COMMITis set in the build environment it is forwarded to the downstream appex-qa build, whereqaf-tests(ElasticsearchRepoTask) checks out that exact commit after cloningES_BRANCH. The block is emitted only whenES_COMMITis non-empty, so default runs are unchanged. This mirrors the existingES_BRANCH/STACK_VERSIONhandling.Motivation
While investigating a nightly QA failure (#3226) we needed to run an ml-cpp build against the contemporaneous Elasticsearch source, not the moving tip of
main. Without pinning, the QA harness clones the latest ES, which can have advanced past the ml-cpp artifact — e.g. theverifyControllerProtocolVersioncompatibility gate — failing the local ES distribution build before any QA workload runs.ES_COMMITmakes the ES side reproducible.Test plan
bash -nsyntax check on both scriptsES_COMMITset, the generated trigger env contains bothES_BRANCHandES_COMMIT; with it unset, onlyES_BRANCHis emitted (no emptyES_COMMITline)ES_COMMIT=<sha>and confirm the appex-qa build checks out that commitMade with Cursor