Repository navigation
Preserve pending post-merge benchmark runs - #1138
Merged
Merged
Conversation
This was referenced Nov 7, 2026
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.
Keep a separate post-merge benchmark run for each merge while other measurements are active. GitHub canceled a real pending main run because the default concurrency policy replaces it when a newer merge arrives.
AG;DR
The existing
benchmarks-${{ github.ref }}workflow concurrency group now setsqueue: maxalongsidecancel-in-progress: false. This serializes the same-ref measurements while retaining up to 100 pending runs. The defaultsinglepolicy cancels the previous pending run even though active-run cancellation is disabled.The observed canceled run was 42354657340 for main merge 1278c89. The orchestrator recorded that cancellation followed the next merge's benchmark admission; no agent canceled it. This repair is separate from CPU-count agreement and publication queues.
A committed regression verifies the per-ref group, maximum queue and disabled active cancellation. Documentation describes the provider's 100-pending bound, unchanged revision identities and explicit backfill for previously missing revisions. See GitHub concurrency documentation.
Development verification: all 32 benchmark-history tests passed on macOS/Python 3.13 and Linux/Python 3.14.4; all 156 transferred Linux source hashes matched. The affected Bazel target executed and passed on macOS. Normal changed-file pre-commit (excluding local clang-tidy), actionlint, Trunk and git diff checks passed. Public-head CI remains required after integration.
The development patch was prepared against #1130. Public integration applies only its queue/test/documentation delta atop #1137, preserving that publication chain's newer regression tests and canonical tracking. #1130's independent after-fourth agreement decision is inherited from actual main and remains intact; it is not copied or reverted in this follow-up. Merge order is #1135, #1136, #1137, then this PR. This ancestry avoids creating another independent main root; it is not a hard API dependency. Ready parents must merge without waiting for their lone child.
The queue is finite. Overflow still cancels additional runs, and this change does not restore earlier canceled runs or rewrite existing queued workflow definitions. Existing data and all measurement commands, sampling, CPU choices, PR checks and publication policies remain unchanged. There is no runtime speedup claim.
Public integration and current qualification
#1135 through #1137 are merged. Current signed head
f19ecbab6ca4924da578ccc193a2daf8f39db484incorporates actual main3b8a8a34e7e94ee088951b747466082471a3d78b. The normal combined merge resolves four repeated-ancestry/context conflicts while preserving every newer main blob outside this original five-file delta. The benchmark workflow differs from current main by exactly the original two added lines; the history test differs by exactly the original seven-line regression. Current fifth-candidate gating and stale-preview regressions, all newer canonical sections, precise exemptions and site mappings remain intact. Combined tree:8bfa61a37f6d6c50af29cedd808c3778ed0059a1.Normal signed commit and immediate push hooks, actionlint, table and diff checks passed. Normal merge hooks intentionally skip redundant Trunk; no local clang-tidy ran. After synchronization was pushed, all 33 integrated workflow/history tests passed under Python 3.13. Fresh own Test 42404154421 completed successfully on this actual pushed main-context head, including all ordinary checks, six initial shards, agreement, final best-seven-of-nine comparison and
done; optional fourth/fifth candidates skipped normally. Exact predecessor-main Test 42403927061 also completed successfully. Earlier stacked-head checks do not establish current readiness.The same old policy has now also automatically canceled main campaigns
42367122125(ae8c5af3),42378502027(5d413a35) and42398990564(1f25ba6d), each before any job started. Together with the original42354657340example, these four exact revisions remain explicit benchmark-only recovery work; retained PR measurements and main coverage copies do not substitute for their missing main campaigns. No agent canceled any of these runs. Existing queued definitions cannot be rewritten by this change, and no historical measurement is deleted.This is now the queue root, with #1139 as its immediate child. Merge it unchanged when ready, then synchronize that retargeted child.