ci(mantis): install static proof media tools

This commit is contained in:
Ayaan Zaidi
2026-05-11 13:11:12 +05:30
parent 1941142391
commit 1caf3ae674
3 changed files with 18 additions and 9 deletions

View File

@@ -45,10 +45,10 @@ Required workflow:
install and build each worktree with the repo's normal `pnpm` commands.
5. In each worktree, run the real-user Telegram Crabbox proof flow from the
skill. Use `scripts/e2e/telegram-user-driver.py`, the workflow-provided
`crabbox` binary, and the workflow-checked local `ffmpeg`; do not generate,
install, or patch replacement proof tooling during the run. Use the same
proof idea for baseline and candidate. You may iterate and rerun if the
visual result is not convincing.
`crabbox` binary, and the workflow-provided local `ffmpeg`/`ffprobe`; do
not generate, install, or patch replacement proof tooling during the run.
Use the same proof idea for baseline and candidate. You may iterate and rerun
if the visual result is not convincing.
6. Open Telegram Desktop directly to the newest relevant message with the
runner `view` command before finishing each recording. Keep the chat scrolled
to the bottom so new proof messages appear in-frame.

View File

@@ -331,13 +331,19 @@ jobs:
crabbox --version
crabbox media preview --help >/dev/null
- name: Check local proof tools
- name: Install local proof tools
shell: bash
run: |
set -euo pipefail
test -f scripts/e2e/telegram-user-driver.py
command -v ffmpeg
media_tools="${RUNNER_TEMP}/mantis-media-tools"
install -d "$media_tools"
printf '%s\n' '{"private":true}' > "$media_tools/package.json"
pnpm --dir "$media_tools" --config.dangerouslyAllowAllBuilds=true add ffmpeg-static@5.2.0 ffprobe-static@3.1.0
sudo install -m 0755 "$media_tools/node_modules/ffmpeg-static/ffmpeg" /usr/local/bin/ffmpeg
sudo install -m 0755 "$media_tools/node_modules/ffprobe-static/bin/linux/x64/ffprobe" /usr/local/bin/ffprobe
ffmpeg -version >/dev/null
ffprobe -version >/dev/null
- name: Ensure agent key exists
env:

View File

@@ -40,10 +40,13 @@ describe("Mantis Telegram Desktop proof workflow", () => {
expect(readFileSync(USER_DRIVER, "utf8")).toContain("/usr/local/lib/libtdjson.so");
});
it("checks local proof tools before the Codex agent runs", () => {
const install = workflowStep("Check local proof tools");
it("installs local proof tools before the Codex agent runs", () => {
const install = workflowStep("Install local proof tools");
expect(install.run).toContain("test -f scripts/e2e/telegram-user-driver.py");
expect(install.run).toContain("command -v ffmpeg");
expect(install.run).toContain("ffmpeg-static@5.2.0");
expect(install.run).toContain("ffprobe-static@3.1.0");
expect(install.run).toContain("/usr/local/bin/ffmpeg");
expect(install.run).toContain("/usr/local/bin/ffprobe");
expect(install.run).not.toContain("apt-get install");
const agent = workflowStep("Run Codex Mantis Telegram agent");