Repository navigation
fix(aws-lambda): a network blip no longer stops the release ffmpeg build - #6569
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Verdict: APPROVE · 0 blocker · 0 important · 0 nits · head 5052aec5
Scope
I read all four files. I ran fetch.test.ts locally: it passes with this change and fails with the old --retry 3 flags, so the reset-connection repro is real. retry sits in an && list, so set -e does not cut a retry short. A failed git clone cleans up its own directory, so the retried clone starts clean. On this head the Lambda arm64 image workflow ran a full uncached ffmpeg build twice, cmp shows the two builds match, and the image smoke test passed. CI and Windows render verification are green.
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.
What changed
The publish workflow's arm64 ffmpeg build failed once on
curl: (35) Recv failure: Connection reset by peer, which skipped Publish for v0.8.209 until the job was re-run. The build's downloads now live in one script,packages/aws-lambda/image/fetch.sh:fetch(source tarballs) usescurl --retry 5 --retry-all-errors --retry-delay 3 --connect-timeout 20 --max-time 600. The old--retry 3did not retry a reset connection. The sha256 check againstsources.txtis unchanged.retrywraps the x264git cloneand bothmicrodnf installcalls in the Dockerfile, which had no retry.Other downloads in the release and publish workflows: the
curlcalls inlambda-arm64-image.ymlalready retry 30 times, andinstall-ffmpeg-linuxalready uses--retry-all-errorswith a deliberate one-minute cap; the rest aregh releaseand artifact actions.What I measured
fetch.test.tsserves a tarball from a server that resets the first two connections, andfetchstill ends with the file extracted and checked. fails without the fix: with the old flags curl exits 56 and is not retried (run on the devbox). Green with the fix, 3 runs in a row on the Mac with asha256sumshim for the missing GNU tool.microdnf --setopt=retriesis rejected by the base image (Unable to handle), soretrywraps the command instead. Ran. /fetch.sh && retry microdnf install ...andretry false(exit 1) in the pinned Lambda base image.What I did NOT exercise
A full publish run. Why every release rebuilds ffmpeg:
lambda-arm64-image.ymlseeds the cache only on a push to main that touchespackages/aws-lambda/image/**. That push trigger arrived in #6070, after the last image change (#6064), so the key has never been saved (no push run exists for the workflow,gh cache listhas nohf-mediaentry). This PR touches that directory, so its merge push saves the key that the next release restores. Not verified until it merges; I will checkgh cache listthen.Why under 100 lines
One lane-owned release-pipeline fix with nothing else to carry it. Its merge also seeds the ffmpeg cache that releases restore.
No visible change
Build and CI only.