trunk image builds broken: appservice Dockerfile missing COPY scripts/ (prepare fails), no green trunk pipeline since 2799 #1446

Closed
opened 2026-08-27 03:17:13 +00:00 by fred · 1 comment
Collaborator

Symptom

Every trunk (next) push pipeline since 2799 (3bd490c0, success) is killed/canceled: 2805, 2806, 2823, 2829, 2834, 2854. Where steps ran to completion, build-appservice FAILS with a real defect; observed identically in 2806 (49b79434) and 2854 (a3b07702) — content-independent and pre-existing relative to the recent contract merges (#1442 was docs-only).

Root cause (build-appservice)

package.json:18 declares a root prepare script: node scripts/install-hooks.mjs. It runs during pnpm install inside the image build.

  • docker/gateway.Dockerfile:14 has COPY scripts/ ./scripts/ before install (comment on line 13 states exactly this reason). Gateway's prepare succeeds ("git not found; skipping hook installation").
  • docker/appservice.Dockerfile (lines 9-12) copies workspace manifests, packages/, plugins/ — but NOT scripts/. Result in pipeline 2854 step 62161:
prepare: Error: Cannot find module '/app/scripts/install-hooks.mjs'
prepare: Failed ELIFECYCLE  Command failed with exit code 1.
error building image: error building stage: failed to execute command: exit status 1

Fix: add COPY scripts/ ./scripts/ to appservice.Dockerfile before the install step, mirroring gateway.

build-gateway in 2854

Marked failure, but its log shows prepare succeeding and ends mid "Taking snapshot of full filesystem" at ~26 min with no error — consistent with the pipeline kill (queue congestion #1349), not a gateway defect. Also emits pnpm "Failed to create bin" ENOENT warnings for apps/deploy bins (jiti, drizzle-kit, next, playwright) — cosmetic unless proven otherwise.

Impact

The mission gate "CI proves image parity on every trunk merge" is currently void: publish-next-npm succeeds (npm@next is current) but no trunk image has published since 3bd490c0. Every upcoming trunk merge (e.g. #1441) will red the same way until fixed.

## Symptom Every trunk (next) push pipeline since 2799 (3bd490c0, success) is killed/canceled: 2805, 2806, 2823, 2829, 2834, 2854. Where steps ran to completion, build-appservice FAILS with a real defect; observed identically in 2806 (49b79434) and 2854 (a3b07702) — content-independent and pre-existing relative to the recent contract merges (#1442 was docs-only). ## Root cause (build-appservice) `package.json:18` declares a root prepare script: `node scripts/install-hooks.mjs`. It runs during `pnpm install` inside the image build. - `docker/gateway.Dockerfile:14` has `COPY scripts/ ./scripts/` before install (comment on line 13 states exactly this reason). Gateway's prepare succeeds ("git not found; skipping hook installation"). - `docker/appservice.Dockerfile` (lines 9-12) copies workspace manifests, packages/, plugins/ — but NOT scripts/. Result in pipeline 2854 step 62161: ``` prepare: Error: Cannot find module '/app/scripts/install-hooks.mjs' prepare: Failed ELIFECYCLE Command failed with exit code 1. error building image: error building stage: failed to execute command: exit status 1 ``` Fix: add `COPY scripts/ ./scripts/` to appservice.Dockerfile before the install step, mirroring gateway. ## build-gateway in 2854 Marked failure, but its log shows prepare succeeding and ends mid "Taking snapshot of full filesystem" at ~26 min with no error — consistent with the pipeline kill (queue congestion #1349), not a gateway defect. Also emits pnpm "Failed to create bin" ENOENT warnings for apps/deploy bins (jiti, drizzle-kit, next, playwright) — cosmetic unless proven otherwise. ## Impact The mission gate "CI proves image parity on every trunk merge" is currently void: publish-next-npm succeeds (npm@next is current) but no trunk image has published since 3bd490c0. Every upcoming trunk merge (e.g. #1441) will red the same way until fixed.
Author
Collaborator

Fixed on next by bf8bc212 (PR #1452, byte-identical to PR #1447's diff — same blobs, confirmed by rev-code-01 review id 335). PR #1447 could not merge because its CI pipeline was lost in the agent-pod outage; closing #1447 as superseded.

Fixed on next by bf8bc212 (PR #1452, byte-identical to PR #1447's diff — same blobs, confirmed by rev-code-01 review id 335). PR #1447 could not merge because its CI pipeline was lost in the agent-pod outage; closing #1447 as superseded.
fred closed this issue 2026-08-27 11:30:39 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#1446