Repository navigation
[Generator] Coverage collect steps wait in their command, up to 3 hours, instead of on depends_on - #832
Merged
Conversation
…rs, instead of on depends_on A collect step depended on every recording step with allow_dependency_failure, but a cancelled or timed-out dependency still ends it waiting_failed, and it cannot be retried. The full runs 95480, 95553 and 95634 each had a timed-out shard and published nothing, so the ci-selector has decided from build 95238's records since 2026-10-15. The collect steps now depend only on what the recording steps wait on (the image build, which uploads the kernel symbol map). Their command polls each recording step's state through buildkite-agent until all have finished, or until 180 minutes after the pipeline was generated, then folds what was uploaded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: khluu <khluu000@gmail.com>
AndreasKaratzas
added a commit
that referenced
this pull request
Oct 19, 2026
Conflict in test_kernrec.py: main's #832 makes coverage collect steps wait for the recording steps in their command (CI_SELECTOR_COLLECT_WAIT_FOR, up to a deadline) and depend only on what those steps wait for, such as the image build. Kept that, and kept this branch's check that the collector waits for both the CUDA and the AMD recording step, now through the wait list. The AMD multi-node and deferred-step tests read the wait list the same way; the code merged cleanly and needed no change. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Andreas Karatzas <AndreasKaratzas@users.noreply.github.com>
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.
Problem: the fnrec and kernrec collect steps depended on every recording step, with
allow_dependency_failure: true. A cancelled or timed-out dependency still ends the stepwaiting_failed, and awaiting_failedstep can't be retried. The full runs 95480, 95553, 95634 and 95663 each had a timed-out shard (language-models-test-extended-pooling3/4, hung in a ColBERT test; vllm#62279) and published nothing. The ci-selector has been deciding from build 95238's records since Oct 15.Change:
buildkite-agent step get stateevery 5 minutes. It moves on once all arefinishedorignored, or onceCOLLECT_AFTER_MINUTES(180) has passed since the pipeline was generated, whichever comes first. Then it folds what was uploaded.Cost: the two collect jobs sit on a postmerge CPU agent while waiting, up to 3 hours per full run.
Tests:
CI_SELECTOR_COLLECT_WAIT_FORreplacesdepends_on).test_collect_waits_for_recording_steps_in_its_command_up_to_a_deadline, which also checks every runtime$is escaped from upload-time interpolation.buildkite-agent, for both the "all finished" and the "stuck until deadline" paths.🤖 Generated with Claude Code