Skip to content

fix(ci): drop build:island-manifest from postbuild:apps guard suite - #1626

Merged
jung-thomas merged 1 commit into
mainfrom
worktree-fix-island-manifest-in-guard-suite
Aug 11, 2026
Merged

fix(ci): drop build:island-manifest from postbuild:apps guard suite#1626
jung-thomas merged 1 commit into
mainfrom
worktree-fix-island-manifest-in-guard-suite

Conversation

@jung-thomas

Copy link
Copy Markdown
Contributor

Problem

Unit-tests CI has been red on every main push and PR since #1604. The failing step is Static build guards (postbuild:apps):

[build-island-manifest] Vite manifest not found at .../hugo/static/js/.vite/manifest.json. Did `vite build` run with build.manifest:true?
##[error]Process completed with exit code 1.

Root cause

#1604 (e10ab42d) prepended the build-artifact step build:island-manifest to postbuild:apps. But postbuild:apps is invoked directly in CI as a read-only static-guard suite — unit-tests.yml:59 and deploy.yml:231 — and neither workflow runs vite build / build:apps before it. So the Vite manifest never exists and build-island-manifest.cjs hard-exits 1, before any guard runs.

(This is separate from #1620, which fixed the npm test step's island-src path assertions. The remaining red was this guard step.)

Fix

Remove build:island-manifest from postbuild:apps, restoring the pre-#1604 guards-only chain. Coverage is unchanged:

  • build:all already runs build:island-manifest explicitly, right after build:apps (added in edc10ce0).
  • scripts/deploy-mta.cjs Step 2.5 already fails the deploy if shipped Hugo baked only unhashed island paths while a Vite manifest exists.

This matches the project's own rule (CLAUDE.md): a build artifact needed for a correct ship must be an explicit step in build:all, never left to a post/pre* hook.*

Verification

  • npm run postbuild:apps now runs the full 12-guard suite + check:graphql-breaking to completion, exit 0 (previously died on line 1).
  • Reproduced the original failure locally: build-island-manifest.cjs exits 1 when the manifest is absent (as in fresh CI).

Also updated the now-stale header comment in build-island-manifest.cjs.

#1604 prepended the build-artifact step build:island-manifest to
postbuild:apps, but that target is invoked directly in CI
(unit-tests.yml, deploy.yml) as a read-only static-guard suite with no
prior vite build. The Vite manifest is therefore absent and
build-island-manifest.cjs hard-exits 1, reddening every unit-tests run
on main and PRs.

build:all already runs build:island-manifest explicitly after
build:apps, and scripts/deploy-mta.cjs Step 2.5 guards that shipped Hugo
baked hashed island paths, so removing the artifact step from the guard
suite loses no coverage. Restores the pre-#1604 guards-only behavior.
@jung-thomas
jung-thomas merged commit 5762973 into main Aug 11, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant