mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-16 18:05:31 +02:00
test: first-Linux-run environment fixes — bun-only PATH shim, claude gate, darwin-scoped pdf gates
Three environmental assumptions the Linux lane exposed: (1) gbrain-detect's deterministic SAFE_PATH lacked the bun runtime, so every env-shebang spawn exited 127 on CI; a scratch dir holding ONLY a bun symlink joins the PATH (appending bun's real dir would leak its siblings — dev boxes keep gbrain there too). (2) host-config's 'detect finds claude' assumed a claude binary; the secretless lane deliberately has none — gated on Bun.which. (3) The four make-pdf render gates hard-required prerequisites on ANY CI, but the make-pdf gate workflow is macOS-only by decision and the Linux lane doesn't build dist/pdf — hard-require scoped to darwin.
This commit is contained in:
@@ -122,7 +122,10 @@ describe("output format gate", () => {
|
||||
|
||||
if (!avail.ok) {
|
||||
test("format gate prerequisites are present (hard-required in CI)", () => {
|
||||
if (process.env.CI) {
|
||||
// Hard-require only where the binary is expected: the make-pdf gate
|
||||
// workflow is macOS-only (path-filtered) and builds dist/pdf first.
|
||||
// The Linux free lane deliberately doesn't build it — warn-skip there.
|
||||
if (process.env.CI && process.platform === 'darwin') {
|
||||
throw new Error(`format gate prerequisites missing in CI: ${avail.reason}`);
|
||||
}
|
||||
console.warn(`[skip] ${avail.reason}`);
|
||||
|
||||
Reference in New Issue
Block a user