fix(ci): parameterize pinned FFmpeg version with explicit preflight check (BtbN dropped 7.1) - #13169
Conversation
The JetBrains test job pins AnimMouse/setup-ffmpeg to version 7.1, but BtbN/FFmpeg-Builds keeps only the most recent release branches under its rolling 'latest' tag and the 7.1 assets are no longer published, so the asset URL the action builds now 404s: https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n7.1-latest-linux64-gpl-7.1.tar.xz AnimMouse/setup-ffmpeg pipes the download into tar -xJ, so the 404 body reaches tar and the failure surfaces one stage downstream as 'xz: (stdin): File format not recognized' rather than an explicit HTTP error. Setup FFmpeg runs early in the composite action, so the job dies before Gradle, prepackage, the binary build or any tests run, which means every PR fails jetbrains-tests (and therefore require-all-checks-to-pass) even when the change has no JetBrains impact. Bump the pin to 8.1, which BtbN currently publishes. Verified: ffmpeg-n7.1-latest-linux64-gpl-7.1.tar.xz -> 404 ffmpeg-n8.1-latest-linux64-gpl-8.1.tar.xz -> 200 Closes continuedev#13164
|
I have read the CLA Document and I hereby sign the CLA |
…heck Builds on the 7.1→8.1 bump in the parent commit. Instead of hard-coding 'version: 8.1', expose ffmpeg-version as a composite-action input (default 8.1) so the next rotation only needs a single line change. The 7.1 failure mode was particularly nasty: the setup-ffmpeg action pipes the artifact URL through 'wget -q' and straight into 'tar -xJ', so a 404 produces 'xz: (stdin): File format not recognized' two stages downstream. Add a preflight step that HEADs the asset URL with curl and fails explicitly with the missing artifact path so the next time BtbN rotates a branch out, the log says so directly. Closes continuedev#13164
7491323 to
2e6fadc
Compare
CI status update — FFmpeg fix works; testAutocomplete failure exposedRe-verified against the latest push (
This is the same failure mode on every PR that gets past the FFmpeg step. Quick check from recent runs:
So once the FFmpeg issue is out of the way, this test has been failing on every PR for at least 2 days. The plugin, the CI failure artifact for the current push: https://github.com/continuedev/continue/actions/runs/32468648181 — cc |
Closes #13164.
BtbN/FFmpeg-Builds keeps only the most recent release branches under its rolling
latesttag. The 7.1 artifacts were dropped as newer branches shipped, soAnimMouse/setup-ffmpeg@v1's built URL silently 404s,wget -qsuppresses the body, andtar -xJreports a misleadingxz: (stdin): File format not recognizedtwo stages downstream. The wholejetbrains-testsjob then short-circuits at the FFmpeg step before Gradle, prepackage, the binary build, orRun testsexecute — every PR appears red on this check for a reason that has nothing to do with the diff.This PR does two things on
.github/actions/run-jetbrains-tests/action.yml:Parameterize the pin. Adds a
ffmpeg-versioninput (default"8.1") and routes both the preflight check andAnimMouse/setup-ffmpeg@v1'sversionthrough it. When BtbN drops 8.1 the next time, the change is a single input value rather than a hard-codedversion:swap.Preflight-check the artifact. Adds a
Check FFmpeg artifact is availablestep that HEADs the asset URL withcurl -sSIL --retrybefore the action runs and fails with an explicit::error::FFmpeg $VERSION is no longer published by BtbN/FFmpeg-Builds. Bump ffmpeg-version. Missing: $urlannotation when the asset is missing or unreachable. The next time BtbN rotates a branch out, the log says so directly instead of surfacing as a cryptic tar format error.The 8.1 default was verified against BtbN's
latesttag at PR time: the URLhttps://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n8.1-latest-linux64-gpl-8.1.tar.xzreturns 200, downloads, extracts, and produces workingffmpeg/ffprobebinaries (also confirmed in the recent green run on #13163 which already carries this exact input+preflight pair as part of its larger diff).Test plan
jetbrains-testsoutcome on the fresh run.Note on the autocomplete test failure
The first push of this PR (commit
f0d8a029d) showedjetbrains-testsfailing atextensions/intellij/src/testIntegration/.../Autocomplete.kt:42(assertTrue(text.contains("TEST_LLM_RESPONSE_0"))) instead of at the FFmpeg step — i.e. fixing the pin unblocked the test runner and surfaced a separate, pre-existing failure in the autocomplete integration test that had been hidden by the 7.1 404 since 2026-08-19T22:00Z. That failure appears tied to other code changes also being carried by #13163 (which is the last PR observed with a greenjetbrains-testson this branch); fixing it is out of scope for the FFmpeg bump here. Happy to follow up in a separate PR if the maintainer wants me to dig into it; otherwise #13163 should land the relevant changes alongside this fix.