Skip to content

ci(release): install ffmpeg from apt so publishes stop failing - #1348

Merged
murdore merged 1 commit into
releasefrom
fix/release-ffmpeg
Aug 18, 2026
Merged

murdore merged 1 commit into
releasefrom
fix/release-ffmpeg

Conversation

@murdore

@murdore murdore commented Aug 18, 2026 •

Copy link
Copy Markdown
Contributor

Nothing has published since 11.1.0. Two PRs have merged to release since then and neither produced a version.

release.yml still uses the third-party AnimMouse/setup-ffmpeg action that #1342 moved ci.yml off. It is failing identically — xz: (stdin): File format not recognized — which fails the release job before semantic-release ever runs.

This failure mode is worse than the CI one because it is silent. Pull requests merge, CI on release reports green, and no release goes out; you only notice by checking npm. Runs 32114361501 and 32117776035 both failed this way.

Same replacement as #1342: install from the runner's package index, in both jobs that need it, so an upstream release being moved, rebuilt or rate-limited can no longer stop a publish. Also updates the failure message, which still pointed at the removed action.

Once this lands, the two already-merged changes (fix(cli) setup flag forwarding, fix(providers) transport-error classification) should publish on the next release run.

Summary by CodeRabbit

  • Chores
    • Updated automated test and release environments to install FFmpeg through the system package manager.
    • Improved verification messaging when FFmpeg installation is unsuccessful.

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.
Copilot AI lite review requested due to automatic review settings August 18, 2026 08:58
@github-actions

Copy link
Copy Markdown
Contributor

✅ Single Commit Policy - COMPLIANT

Status: Policy requirements met • 1 commit • Valid format • Ready for merge

📊 View validation details

📝 Commit Details

  • Hash: ad1bbd0acbe8acc692aa069843db46466cdbf61a
  • Message: ci(release): install ffmpeg from apt so publishes stop failing
  • Author: Sachin Sharma

✅ Validation Results

  • Single commit requirement met
  • No merge commits in branch
  • Semantic commit message format verified
  • Ready for squash merge to release branch

🤖 Automated validation by NeuroLink Single Commit Enforcement

@coderabbitai

coderabbitai Bot commented Aug 18, 2026 •

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4f897a2c-0e84-4971-90ee-ab3d35849beb

📥 Commits

Reviewing files that changed from the base of the PR and between 6e09a4b and ad1bbd0.

📒 Files selected for processing (1)
  • .github/workflows/release.yml

Included review availability: Your plan includes up to 2 reviews per rolling hour; 1 remains after this review.


📝 Walkthrough

Walkthrough

The test and release jobs in the release workflow now install FFmpeg with apt-get and verify the resulting binary with apt-based failure messages.

Changes

FFmpeg CI installation

Layer / File(s) Summary
Install and verify FFmpeg in CI
.github/workflows/release.yml
The test and release jobs replace the pinned setup action with apt-get update and system-package installation. Verification reports when apt does not produce a working FFmpeg binary.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to ad1bb

This is a localized release-workflow change to install ffmpeg from the runner package index; no actionable merge-blocking risk remains after normal checks.

Possibly related PRs

Suggested reviewers: pdogra1299

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main workflow change: installing ffmpeg from apt to prevent release failures.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/release-ffmpeg

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the release/publish GitHub Actions workflow to install ffmpeg via the Ubuntu runner’s APT package index instead of relying on the third-party AnimMouse/setup-ffmpeg action, preventing upstream asset/download failures from silently blocking releases on the release branch.

Changes:

  • Replaced AnimMouse/setup-ffmpeg@v1 with apt-get install ffmpeg in the test job.
  • Replaced AnimMouse/setup-ffmpeg@v1 with apt-get install ffmpeg in the release job.
  • Updated the verification failure message to reference the new installation method.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 AI Review & Build Compliance ✅

Status: AI analysis complete • Build rules validated • Ready for review

📊 View detailed analysis results

🛡️ Analysis Complete

  • ✅ Security scan (vulnerabilities, API keys)
  • ✅ TypeScript safety & code quality
  • ✅ Error handling & best practices
  • ✅ Build rule enforcement validated
  • ✅ Commit format & compliance checks

📋 Ready for Merge When

  • All CI checks passing
  • Manual review approved
  • Any AI-flagged issues resolved

🤖 AI analysis complete - check individual code comments for specific feedback

@Tara-ag

Tara-ag commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

@juspay/neurolink-bot This is a Yama automated code review for PR #1348.

Review Summary

Decision: APPROVED

This is a CI/CD workflow change that addresses a critical release-blocking issue. The AnimMouse/setup-ffmpeg action was silently failing releases due to corrupt download assets, causing multiple failed publish attempts (runs 32114361501 and 32117776035) without any visible CI failure.

Changes Made:

  • File: .github/workflows/release.yml
  • Impact: Replaced third-party ffmpeg installation action with direct apt-get installation in both test and release jobs
  • Risk Score: 0.00 (minimal - CI workflow changes only)

Verification:

✅ No source code files affected
✅ No backward compatibility concerns (CI workflow only)
✅ Well-documented rationale with inline comments explaining the problem history
✅ Error messages updated to reflect new installation method
✅ Risk analysis confirms zero impact on code flows or test coverage

Why This Change is Necessary:

The upstream AnimMouse/setup-ffmpeg action has a known issue where it downloads pre-built FFmpeg binaries from external repositories. When those builds fail or get corrupted (as happened with version 8.1), the release silently fails because:

  1. The extraction step fails with "xz: (stdin): File format not recognized"
  2. The GitHub Action continues despite the error
  3. semantic-release never runs
  4. No release gets published
  5. CI still shows as green

This is significantly worse than the CI pipeline issue because it affects production releases while appearing healthy.

Conclusion:

This change restores reliable release publishing by using the runner's system package manager instead of relying on potentially broken third-party assets. The change is minimal, well-documented, and follows the same pattern already applied to ci.yml in PR #1342.

No inline comments required - this is a CI workflow improvement with no code quality concerns.

@Tara-ag

Tara-ag commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

✅ Yama Review Summary

Decision: APPROVED

This is a CI/CD workflow change that addresses a critical release-blocking issue. The AnimMouse/setup-ffmpeg action was silently failing releases due to corrupt download assets, causing multiple failed publish attempts (runs 32114361501 and 32117776035) without any visible CI failure.

Changes Made:

  • File: .github/workflows/release.yml
  • Impact: Replaced third-party ffmpeg installation action with direct apt-get installation in both test and release jobs
  • Risk Score: 0.00 (minimal - CI workflow changes only)

Verification:

✅ No source code files affected
✅ No backward compatibility concerns (CI workflow only)
✅ Well-documented rationale with inline comments explaining the problem history
✅ Error messages updated to reflect new installation method
✅ Risk analysis confirms zero impact on code flows or test coverage

Why This Change is Necessary:

The upstream AnimMouse/setup-ffmpeg action has a known issue where it downloads pre-built FFmpeg binaries from external repositories. When those builds fail or get corrupted (as happened with version 8.1), the release silently fails because:

  1. The extraction step fails with "xz: (stdin): File format not recognized"
  2. The GitHub Action continues despite the error
  3. semantic-release never runs
  4. No release gets published
  5. CI still shows as green

This is significantly worse than the CI pipeline issue because it affects production releases while appearing healthy.

Consistency Check:

This change mirrors the same fix already applied to ci.yml in PR #1342. Both workflows now use identical apt-based installation methods, ensuring consistency across all CI/CD pipelines.

Impact Analysis:

  • Changed files: 1 (.github/workflows/release.yml)
  • Affected functions/classes: 0
  • Execution flows impacted: 0
  • Test coverage gaps: 0
  • Blast radius: None (only affects GitHub Actions workflow)

Conclusion:

This change restores reliable release publishing by using the runner's system package manager instead of relying on potentially broken third-party assets. The change is minimal, well-documented, follows the same pattern already applied to ci.yml, and poses zero risk to production code or users.

No inline comments required - this is a CI workflow improvement with no code quality concerns.

@murdore
murdore merged commit 0120005 into release Aug 18, 2026
18 checks passed
@murdore
murdore deleted the fix/release-ffmpeg branch August 18, 2026 09:35
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 11.1.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants