fix(cli): mock findFFmpeg in render tests for CI without ffmpeg (#1154)

* fix(cli): pre-flight FFmpeg check and propagate failed_stage on render errors

Add an early FFmpeg availability check in renderLocal() so users get a
clear error message before the render starts instead of a cryptic ENOENT
mid-render. Also thread job.failedStage through handleRenderError into
the render_error telemetry event so we can attribute failures to a
specific pipeline stage.

* fix(cli): consolidate FFmpeg pre-flight into renderLocal()

Remove the duplicate findFFmpeg() check from run() — renderLocal()
already validates FFmpeg availability before starting. Single source of
truth.

* fix(cli): mock findFFmpeg in render tests for CI runners without ffmpeg
This commit is contained in:
Miguel Ángel
2026-06-01 16:55:04 -04:00
committed by GitHub
parent cfef6caf5f
commit a01a266efa
+5
View File
@@ -24,6 +24,11 @@ vi.mock("../telemetry/events.js", () => ({
trackRenderError: vi.fn(),
}));
vi.mock("../browser/ffmpeg.js", () => ({
findFFmpeg: vi.fn(() => "/usr/bin/ffmpeg"),
getFFmpegInstallHint: vi.fn(() => "brew install ffmpeg"),
}));
describe("renderLocal browser GPU config", () => {
const savedEnv = new Map<string, string | undefined>();
// Pre-resolve once. The first dynamic `import("./render.js")` in this file