From 7c5c2b7e35ccb51ac3ba522174b2d7beb1bb4761 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 19 Feb 2026 06:16:20 +0000 Subject: [PATCH 1/2] feat(NA): add support for p75 durations on pick test group bin packing from ci-stats (#253862) Depends on https://github.com/elastic/kibana-ci-stats/pull/1009 This PR adds durationPercentile: 75 to the ci stats pickTestGroupRunOrder request. This tells ci stats to use the p75 of the last 5 runs (instead of the single most-recent run) when estimating config durations for bin-packing. Requires the corresponding ci-stats server change to be deployed first. If no param is provided, legacy continues to be used. (cherry picked from commit 67284e0141691845af8b0fc5378039bb63f7bdfb) # Conflicts: # .buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts --- .buildkite/pipeline-utils/ci-stats/client.ts | 1 + .../pipeline-utils/ci-stats/pick_test_group_run_order.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.buildkite/pipeline-utils/ci-stats/client.ts b/.buildkite/pipeline-utils/ci-stats/client.ts index b8c7cafef7cca..3a98c7325de2c 100644 --- a/.buildkite/pipeline-utils/ci-stats/client.ts +++ b/.buildkite/pipeline-utils/ci-stats/client.ts @@ -163,6 +163,7 @@ export class CiStatsClient { jobName: string; } >; + durationPercentile?: number; groups: Array<{ type: string; queue?: string; diff --git a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts index 7b3272dc4158a..e0ccd131c69da 100644 --- a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts +++ b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts @@ -360,6 +360,7 @@ export async function pickTestGroupRunOrder() { const prNumber = process.env.GITHUB_PR_NUMBER as string | undefined; const { sources, types } = await ciStats.pickTestGroupRunOrder({ + durationPercentile: 75, sources: [ // try to get times from a recent successful job on this PR ...(prNumber @@ -585,4 +586,4 @@ export async function pickTestGroupRunOrder() { : [], ].flat() ); -} +} \ No newline at end of file From 435779ea8fb885724529e015c32b53c2952103eb Mon Sep 17 00:00:00 2001 From: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 19 Feb 2026 06:52:01 +0000 Subject: [PATCH 2/2] Changes from node scripts/eslint_all_files --no-cache --fix --- .buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts index e0ccd131c69da..62dc6542677ae 100644 --- a/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts +++ b/.buildkite/pipeline-utils/ci-stats/pick_test_group_run_order.ts @@ -586,4 +586,4 @@ export async function pickTestGroupRunOrder() { : [], ].flat() ); -} \ No newline at end of file +}