Skip to content

fix: configurable source upload size, clearer gradient build errors, per-package failure scoping - #494

Merged
DerDennisOP merged 2 commits into
mainfrom
fix/489-491-492-upload-size-cli-errors-build-attribution
Jul 5, 2026
Merged

fix: configurable source upload size, clearer gradient build errors, per-package failure scoping#494
DerDennisOP merged 2 commits into
mainfrom
fix/489-491-492-upload-size-cli-errors-build-attribution

Conversation

@DerDennisOP

Copy link
Copy Markdown
Member

Closes #489, #491, #492, #493.

…radient build errors, per-package failure scoping

Fixes #489 #491 #492 #493.
Chunked source/{upload}/chunk + finalize (blake3-keyed, resumable) removes the single-request body-limit ceiling that caused 413/502 on large sources; keep single-shot endpoint + max_source_upload_size as total guard. Also fixes an unsorted-directory NAR test rejected by the stricter harmonia parser.
@DerDennisOP

Copy link
Copy Markdown
Member Author

Follow-up (addresses the 502 sendfile() Broken pipe): rather than only raising the limit, gradient build now uploads the source NAR in bounded 32 MiB chunks via PUT /build-requests/source/{upload}/chunk + finalize (keyed by the NAR's blake3 hash, so a retry resumes from the server's staged offset). No single request carries the whole source, so it can't trip a body limit or drop the connection mid-stream. max_source_upload_size stays as the staged-total guard; the single-shot endpoint is kept for back-compat.

Also folds in a one-line fix for an unrelated pre-existing test (directory_tarball_preserves_symlinks): its NAR directory entries were unsorted, which the stricter harmonia parser (bumped on main) now rejects.

@DerDennisOP
DerDennisOP merged commit 17187d5 into main Jul 5, 2026
6 of 7 checks passed
@DerDennisOP
DerDennisOP deleted the fix/489-491-492-upload-size-cli-errors-build-attribution branch July 5, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

No clear way to figure out which build caused a package to fail to build

1 participant