ci: run the dashboard vitest suite inside ci:local (closes #73)#74
Merged
Conversation
Closes #73. ci:local built the dashboard bundle but never ran its tests. The ~296 vitest tests (45 files) were reachable only via `npm --prefix dashboard run test`, which no gate invoked, so component-level React regressions were not a merge gate. Because vite does not resolve undefined JSX identifiers, a green ci:local proved only that a bundle was produced — not that the dashboard worked. That gap let broken dashboard states pass as "verified" on the local-only-remove-cloud branch. Both ci.yml (PR gate) and npm-publish.yml (post-merge test job) call `npm run ci:local` and already run `npm ci --prefix dashboard`, so editing the single ci:local script closes the gap for the PR gate, the publish gate, and local runs at once — no workflow YAML change needed. Placed right after dashboard:build so the dashboard steps stay together and a build failure still short-circuits first. Verified: full ci:local green on this branch off main — dashboard 296/296 (45 files) now inside the gate, root 821 + 4, all validators ok.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
npm --prefix dashboard run testto theci:localscript, right afterdashboard:build.Why
ci:localbuilt the dashboard bundle but never ran its ~296 vitest tests (45 files) — they were reachable only via a separate command no gate invoked. Since vite does not resolve undefined JSX identifiers, a greenci:localproved only that a bundle was produced, not that the dashboard rendered. This gap let broken dashboard states pass as "verified" onrefactor/local-only-remove-cloud(caught only by manually clicking through the app). Full write-up in #73.Why a one-line script edit is the whole fix
Both
ci.yml(PR gate) andnpm-publish.yml(post-mergetestjob) callnpm run ci:localand already runnpm ci --prefix dashboard. Editing the single script closes the gap for the PR gate, the publish gate, and local dev runs at once — no workflow YAML change needed. Kept adjacent to the build so the dashboard steps group together and a build failure still short-circuits first.Test plan
ci:localgreen on this branch offmain: dashboard 296/296 (45 files) now runs inside the gate, root 821 + 4, all validators ok (copy 906 entries / 700 keys, ui-hardcode ok, openwiki 0 findings, guardrails ok).main's dashboard suite was already green (296/296) before this change — the new step will not turnmainred.ci:localonubuntu-latest) passes on this PR.Closes #73.