From 8fa97afe04714d08c7756ba4b6717ba75ec437e9 Mon Sep 17 00:00:00 2001 From: InstaZDLL Date: Sun, 9 Aug 2026 22:02:02 +0200 Subject: [PATCH] chore(ci): fail fast on a missing Windows FFmpeg and declare vite client types Two blockers made dependency bumps unmergeable. choco exits 0 when the Chocolatey community feed answers 503, so the Install FFmpeg step reported success while installing nothing. The failure only surfaced five minutes later as nineteen integration tests panicking on "ffmpeg: program not found" (run 31308831487 on ed4cf27). Retry the transient failure, then run ffmpeg -version and ffprobe -version so the step fails where the cause actually is. webapp has never had a vite-env.d.ts. TypeScript 5 tolerated the side-effect import of ./styles.css in main.tsx; TypeScript 7 rejects it with TS2882, so the pending typescript bump cannot pass CI without this declaration. Dependabot cannot add the file itself. Claude-Session: https://claude.ai/code/session_01NJBwjsQ17Bx2PgvPbBGNpM Signed-off-by: InstaZDLL --- .github/workflows/ci-rust.yml | 18 +++++++++++++++++- webapp/src/vite-env.d.ts | 1 + 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 webapp/src/vite-env.d.ts diff --git a/.github/workflows/ci-rust.yml b/.github/workflows/ci-rust.yml index b01d3ce..1da3d67 100644 --- a/.github/workflows/ci-rust.yml +++ b/.github/workflows/ci-rust.yml @@ -89,8 +89,24 @@ jobs: - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2 + # choco exits 0 even when the community feed answers 503, so a failed + # install used to surface five minutes later as nineteen tests panicking + # on "ffmpeg: program not found". Retry the transient failure, then prove + # both binaries are callable so this step fails where the cause is. - name: Install FFmpeg - run: choco install ffmpeg --yes --no-progress + shell: pwsh + run: | + $ErrorActionPreference = 'Continue' + $env:PATH = "$env:PATH;$env:ProgramData\chocolatey\bin" + foreach ($attempt in 1..3) { + choco install ffmpeg --yes --no-progress + if (Get-Command ffmpeg -ErrorAction SilentlyContinue) { break } + Write-Host "::warning::FFmpeg install attempt $attempt did not produce a binary; retrying." + Start-Sleep -Seconds 20 + } + $ErrorActionPreference = 'Stop' + ffmpeg -version + ffprobe -version - name: cargo clippy run: cargo clippy --all-targets --all-features -- -D warnings diff --git a/webapp/src/vite-env.d.ts b/webapp/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/webapp/src/vite-env.d.ts @@ -0,0 +1 @@ +///