ci on Linux: --no-sandbox for the Chromium storebound starts itself as root on Linux or in a container (sandboxArgs; Chromium refuses root without it), never on macOS / Windows / a normal user; workflow caches Playwright's browsers; capture-web prints the capture's stderr when a run fails

This commit is contained in:
CRTkafa 2026-10-13 02:51:48 +08:00
parent 8c7274edcc
commit 56591f4118
5 changed files with 42 additions and 5 deletions

View file

@ -98,6 +98,8 @@ function project(cfg: ShipConfig, files: Record<string, string>): { root: string
return { root, setConfig, cli: async args => {
const r = Bun.spawn(['bun', CLI, 'shots', 'capture', ...args], { cwd: root, stdout: 'pipe', stderr: 'pipe', env: { ...process.env, NO_COLOR: '1' } });
const [out, err, code] = await Promise.all([new Response(r.stdout).text(), new Response(r.stderr).text(), r.exited]);
// failed frames are warnings on stderr (exit 1): show them, or a CI failure only says which file is missing
if (code !== 0) console.error(`storebound shots capture ${args.join(' ')} (exit ${code}):\n${err}`);
return { out, err, code };
} };
}