Conversation
Contributor
Author
Contributor
Author
Contributor
There was a problem hiding this comment.
Code Review
This pull request implements chunking for Buildkite pipeline uploads to prevent exceeding the organization's per-upload job limit. Key changes include the addition of logic to count jobs within groups (accounting for parallelism) and a greedy-packing algorithm to split steps into batches. The output now generates indexed JSON files (e.g., _0.json, _1.json), and the corresponding shell script has been updated to upload these chunks sequentially. Additionally, the PR includes new unit and integration tests to verify the batching logic and the cleanup of stale chunk files. I have no feedback to provide as there were no review comments to evaluate.
…ob limit Buildkite rejects pipeline uploads above an organization-level job limit (500 at time of writing) with "Pipeline upload rejected: The number of jobs in this upload exceeds your organization limit of 500." The release pipeline's release_tests.json has grown past that; the previous "step dependencies not found" failure had been masking it. custom_image_build_and_test_init now splits the computed steps into batches of at most --max-jobs-per-upload jobs (default 450 for headroom) and writes each batch to .buildkite/release/release_tests_<i>.json. Groups are atomic — a single group that exceeds the limit raises, matching the approach taken in rayci (ray-project/rayci#483, #484). custom-image-build-and-test-init.sh iterates the chunks and uploads each in order so dependencies between steps in different chunks still resolve. Topic: chunk-release-test-uploads Signed-off-by: andrew <andrew@anyscale.com>
4b67929 to
15f109b
Compare
aslonnie
approved these changes
Apr 17, 2026
HLDKNotFound
pushed a commit
to chichic21039/ray
that referenced
this pull request
Apr 22, 2026
…ob limit (ray-project#62736) Buildkite rejects pipeline uploads above an organization-level job limit (500 at time of writing) with "Pipeline upload rejected: The number of jobs in this upload exceeds your organization limit of 500." The release pipeline's release_tests.json has grown past that; the previous "step dependencies not found" failure had been masking it. custom_image_build_and_test_init now splits the computed steps into batches of at most --max-jobs-per-upload jobs (default 450 for headroom) and writes each batch to .buildkite/release/release_tests_<i>.json. Groups are atomic — a single group that exceeds the limit raises, matching the approach taken in rayci (ray-project/rayci#483, ray-project#484). custom-image-build-and-test-init.sh iterates the chunks and uploads each in order so dependencies between steps in different chunks still resolve. Signed-off-by: andrew <andrew@anyscale.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.
Buildkite rejects pipeline uploads above an organization-level job limit (500 at time of writing) with "Pipeline upload rejected: The number of jobs in this upload exceeds your organization limit of 500." The release pipeline's release_tests.json has grown past that; the previous "step dependencies not found" failure had been masking it.
custom_image_build_and_test_init now splits the computed steps into batches of at most --max-jobs-per-upload jobs (default 450 for headroom) and writes each batch to .buildkite/release/release_tests_.json. Groups are atomic — a single group that exceeds the limit raises, matching the approach taken in rayci (ray-project/rayci#483, #484). custom-image-build-and-test-init.sh iterates the chunks and uploads each in order so dependencies between steps in different chunks still resolve.
Topic: chunk-release-test-uploads
Signed-off-by: andrew andrew@anyscale.com