ci: skip ffmpeg-static CDN download on ubuntu; retry Windows FFmpeg install#1275
Open
vanceingalls wants to merge 2 commits into
Open
Conversation
…nstall ubuntu-24.04 runners ship /usr/bin/ffmpeg. Set FFMPEG_BIN so ffmpeg-static's postinstall script skips its GitHub-release binary download, preventing bun install failures when that CDN is unavailable. For Windows: increase BtbN/FFmpeg-Builds download max-attempts 3→8 with longer backoff (30×attempt s) and set FFMPEG_BIN after install so bun install also skips ffmpeg-static's download in both render and test jobs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Collaborator
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
/usr/bin/ffmpeg is not writable by the runner user. When bun runs ffmpeg-static's postinstall script in a context where process.exit(0) is intercepted, the skip-if-exists check has no effect and the download proceeds to the destination path. Pointing FFMPEG_BIN at a system path (/usr/bin/ffmpeg) therefore causes EACCES even when the CDN returns 200. Replace the top-level env var with a prepare-ffmpeg-bin composite action that copies the system ffmpeg to $RUNNER_TEMP (writable). Call it before every bun install step in the CI workflow. Whether the postinstall script skips or overwrites, the write target is now writable and the job succeeds. Co-Authored-By: Claude Sonnet 4.6 <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 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
Prevent CI failures caused by
ffmpeg-static@5.3.0's postinstall script downloading a binary from GitHub releases CDN. When that CDN is unavailable (504/connection errors),bun install --frozen-lockfilefails across all Linux jobs and the Windows test job.Three-part fix:
Linux (ci.yml) — set
FFMPEG_BIN: /usr/bin/ffmpegat workflow level.ubuntu-24.04runners ship with/usr/bin/ffmpegpre-installed.ffmpeg-static'sinstall.jschecks theFFMPEG_BINenv var (documented viabinary-path-env-varin itspackage.jsonmetadata) and skips the download entirely when it's set.Windows retries (install-ffmpeg-windows/action.yml) — increase
max-attemptsfrom 3 → 8 and backoff from10 × attemptseconds to30 × attemptseconds for the BtbN/FFmpeg-Builds zip download.Windows bun install (windows-render.yml) — after installing FFmpeg via the composite action, set
FFMPEG_BINto the installedffmpeg.exepath in$GITHUB_ENV. Applied to both therenderjob andtest-windowsjob sobun installskipsffmpeg-static's download in both.Why
All PRs in the R1 stack had CI failures traced to this error in
bun installlogs:The
eugeneware/ffmpeg-staticGitHub releases CDN went down around 07:50 UTC on 2026-06-07, causing everybun install --frozen-lockfilestep to fail. We don't needffmpeg-staticto download anything on CI — we already install a known-good ffmpeg beforebun installruns.Test plan
bun installwithout the download error)