Skip to content

ci: run the dashboard vitest suite inside ci:local (closes #73)#74

Merged
pitimon merged 1 commit into
mainfrom
ci/73-dashboard-tests-in-gate
Jul 21, 2026
Merged

ci: run the dashboard vitest suite inside ci:local (closes #73)#74
pitimon merged 1 commit into
mainfrom
ci/73-dashboard-tests-in-gate

Conversation

@pitimon

@pitimon pitimon commented Jul 21, 2026

Copy link
Copy Markdown
Owner

What

Adds npm --prefix dashboard run test to the ci:local script, right after dashboard:build.

Why

ci:local built 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 green ci:local proved only that a bundle was produced, not that the dashboard rendered. This gap let broken dashboard states pass as "verified" on refactor/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) and npm-publish.yml (post-merge test job) call npm run ci:local and already run npm 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

  • Full ci:local green on this branch off main: 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).
  • Confirmed main's dashboard suite was already green (296/296) before this change — the new step will not turn main red.
  • Confirmed PR refactor: make TokenTracker local-only #72's dashboard suite is green (233/233) — this stricter gate will not block that PR either.
  • CI (ci:local on ubuntu-latest) passes on this PR.

Closes #73.

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.
@pitimon
pitimon merged commit c973022 into main Jul 21, 2026
1 check passed
@pitimon
pitimon deleted the ci/73-dashboard-tests-in-gate branch July 21, 2026 21:28
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.

ci:local does not run the dashboard vitest suite — green CI proves nothing about the dashboard

1 participant