[ci] Bump download-artifact to v8 for the restate.tar snapshot - #235
Merged
Merged
Conversation
download-artifact < v6 can exit successfully with a truncated file when
the blob download stalls for 30s: the stall timer destroys the response
stream but the error is never surfaced, so the step passes and the next
step fails in `docker load` with:
failed to ingest "blobs/sha256/…": short read: expected … bytes but got …: unexpected EOF
v6+ rejects on the stall timeout (so the built-in retries kick in), and
v8 also fails the step on digest mismatch by default.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
actions/download-artifactbefore v6 can leave a truncatedrestate.tarbehind and still report success when the blob download stalls. Thedocker loadstep after it then fails with:Cause: in v4/v5, the 30s stall timer destroys the HTTP response, but nothing listens for
erroron it, so Node drops the error. The download promise never settles, the process runs out of work and exits 0, and the built-in retries and digest check never run. v6 and later reject on the stall, so the retries kick in. v8 also fails the step on a digest mismatch by default.Over the last two weeks this caused 12 "Install restate snapshot" failures in restatedev/restate CI. sdk-java already uses
@v8and had none.The artifact is downloaded by
name, so the v5 change to by-ID download paths doesn't apply.upload-artifact@v4uploads zips, so v8 extracts them as before.🤖 Generated with Claude Code