mirror of
https://github.com/moltbot/moltbot.git
synced 2026-05-13 15:47:28 +00:00
ci(mantis): install static proof media tools
This commit is contained in:
@@ -45,10 +45,10 @@ Required workflow:
|
|||||||
install and build each worktree with the repo's normal `pnpm` commands.
|
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
|
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
|
skill. Use `scripts/e2e/telegram-user-driver.py`, the workflow-provided
|
||||||
`crabbox` binary, and the workflow-checked local `ffmpeg`; do not generate,
|
`crabbox` binary, and the workflow-provided local `ffmpeg`/`ffprobe`; do
|
||||||
install, or patch replacement proof tooling during the run. Use the same
|
not generate, install, or patch replacement proof tooling during the run.
|
||||||
proof idea for baseline and candidate. You may iterate and rerun if the
|
Use the same proof idea for baseline and candidate. You may iterate and rerun
|
||||||
visual result is not convincing.
|
if the visual result is not convincing.
|
||||||
6. Open Telegram Desktop directly to the newest relevant message with the
|
6. Open Telegram Desktop directly to the newest relevant message with the
|
||||||
runner `view` command before finishing each recording. Keep the chat scrolled
|
runner `view` command before finishing each recording. Keep the chat scrolled
|
||||||
to the bottom so new proof messages appear in-frame.
|
to the bottom so new proof messages appear in-frame.
|
||||||
|
|||||||
@@ -331,13 +331,19 @@ jobs:
|
|||||||
crabbox --version
|
crabbox --version
|
||||||
crabbox media preview --help >/dev/null
|
crabbox media preview --help >/dev/null
|
||||||
|
|
||||||
- name: Check local proof tools
|
- name: Install local proof tools
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
test -f scripts/e2e/telegram-user-driver.py
|
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
|
ffmpeg -version >/dev/null
|
||||||
|
ffprobe -version >/dev/null
|
||||||
|
|
||||||
- name: Ensure agent key exists
|
- name: Ensure agent key exists
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -40,10 +40,13 @@ describe("Mantis Telegram Desktop proof workflow", () => {
|
|||||||
expect(readFileSync(USER_DRIVER, "utf8")).toContain("/usr/local/lib/libtdjson.so");
|
expect(readFileSync(USER_DRIVER, "utf8")).toContain("/usr/local/lib/libtdjson.so");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("checks local proof tools before the Codex agent runs", () => {
|
it("installs local proof tools before the Codex agent runs", () => {
|
||||||
const install = workflowStep("Check local proof tools");
|
const install = workflowStep("Install local proof tools");
|
||||||
expect(install.run).toContain("test -f scripts/e2e/telegram-user-driver.py");
|
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");
|
expect(install.run).not.toContain("apt-get install");
|
||||||
|
|
||||||
const agent = workflowStep("Run Codex Mantis Telegram agent");
|
const agent = workflowStep("Run Codex Mantis Telegram agent");
|
||||||
|
|||||||
Reference in New Issue
Block a user