From 7781b1327512e469a76cb2bebf945cc385d29c54 Mon Sep 17 00:00:00 2001 From: Ed Savage Date: Fri, 13 Mar 2026 12:54:40 +1300 Subject: [PATCH] [ML] Split ES integration tests into parallel steps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Split each per-architecture Elasticsearch integration test step into two independent steps that run in parallel: - Multi-Node Tests (javaRestTest) — ~27 min on x86_64, ~37 min on aarch64 - YAML REST Tests (yamlRestTest) — ~12 min on x86_64, ~15 min on aarch64 Previously these ran sequentially in a single step, making the total wall-clock time ~40 min (x86_64) / ~53 min (aarch64). Running them in parallel reduces the critical path to the duration of the slower suite, saving ~11-14 minutes per PR build. The split also improves failure attribution (immediately visible which suite failed) and enables selective retry of just the failed suite. A new ES_TEST_SUITE environment variable controls which Gradle command to run. When unset, both suites run sequentially for backward compatibility with local developer use. Made-with: Cursor --- .../pipelines/run_es_tests_aarch64.yml.sh | 29 +++++++++++++++++-- .../pipelines/run_es_tests_x86_64.yml.sh | 29 +++++++++++++++++-- dev-tools/run_es_tests.sh | 19 ++++++++++-- 3 files changed, 69 insertions(+), 8 deletions(-) diff --git a/.buildkite/pipelines/run_es_tests_aarch64.yml.sh b/.buildkite/pipelines/run_es_tests_aarch64.yml.sh index d0dddebbd..ef96ad2b1 100755 --- a/.buildkite/pipelines/run_es_tests_aarch64.yml.sh +++ b/.buildkite/pipelines/run_es_tests_aarch64.yml.sh @@ -10,8 +10,8 @@ cat <