From ad1bbd0acbe8acc692aa069843db46466cdbf61a Mon Sep 17 00:00:00 2001 From: Sachin Sharma Date: Tue, 18 Aug 2026 14:22:44 +0530 Subject: [PATCH] ci(release): install ffmpeg from apt so publishes stop failing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The publish workflow still used the third-party setup-ffmpeg action that ci.yml was just moved off. It is failing the same way — "xz: (stdin): File format not recognized" — which fails the release job before semantic-release runs. The effect is worse here than in CI, because it is silent: pull requests merge, CI on release goes green, and nothing publishes. Two merges have landed on release since the last successful publish and neither produced a version. Same replacement as ci.yml: install from the runner's package index, which cannot be invalidated by an upstream release being moved or rebuilt. --- .github/workflows/release.yml | 36 +++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a9e0d1045..8d9e3ba83 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,21 +31,23 @@ jobs: cache: "pnpm" registry-url: https://registry.npmjs.org/ + # Installed from the runner's package index rather than a third-party + # action that downloads release assets from another repository. That + # action broke this workflow twice — first a corrupt 8.1 asset, then + # the 7.1 pin added to work around it — and because this is the + # publish workflow, each break silently stopped releases from going + # out while CI still looked healthy. ci.yml was moved off it already. - name: Install ffmpeg - uses: AnimMouse/setup-ffmpeg@v1 - with: - # Pin to a known-good release, matching ci.yml. The unpinned default - # resolves to a version BtbN/FFmpeg-Builds has no Linux asset for, so - # the download 404s and fails the job at extract ("xz: (stdin): File - # format not recognized"). Revert once upstream publishes it. - version: "7.1" + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends ffmpeg - name: Verify ffmpeg installation run: | echo "🎬 Verifying ffmpeg installation..." ffmpeg -version || { echo "❌ ffmpeg installation failed!" - echo "Please check the setup-ffmpeg action configuration." + echo "apt-get install ffmpeg did not produce a working binary." exit 1 } echo "✅ ffmpeg installed successfully" @@ -86,21 +88,23 @@ jobs: registry-url: "https://registry.npmjs.org" cache: "pnpm" + # Installed from the runner's package index rather than a third-party + # action that downloads release assets from another repository. That + # action broke this workflow twice — first a corrupt 8.1 asset, then + # the 7.1 pin added to work around it — and because this is the + # publish workflow, each break silently stopped releases from going + # out while CI still looked healthy. ci.yml was moved off it already. - name: Install ffmpeg - uses: AnimMouse/setup-ffmpeg@v1 - with: - # Pin to a known-good release, matching ci.yml. The unpinned default - # resolves to a version BtbN/FFmpeg-Builds has no Linux asset for, so - # the download 404s and fails the job at extract ("xz: (stdin): File - # format not recognized"). Revert once upstream publishes it. - version: "7.1" + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends ffmpeg - name: Verify ffmpeg installation run: | echo "🎬 Verifying ffmpeg installation..." ffmpeg -version || { echo "❌ ffmpeg installation failed!" - echo "Please check the setup-ffmpeg action configuration." + echo "apt-get install ffmpeg did not produce a working binary." exit 1 } echo "✅ ffmpeg installed successfully"