Skip to content

ci(frontend): Frontend CI — typecheck + Vitest render contracts (G-3)#165

Closed
SharedQA wants to merge 1 commit into
constructorfabric:mainfrom
SharedQA:claude/frontend-ci
Closed

ci(frontend): Frontend CI — typecheck + Vitest render contracts (G-3)#165
SharedQA wants to merge 1 commit into
constructorfabric:mainfrom
SharedQA:claude/frontend-ci

Conversation

@SharedQA

Copy link
Copy Markdown

What

Adds .github/workflows/frontend-ci.yml — the frontend had no test CI (only docker.yml), so the render-contract suite from #163/#164 wasn't gating PRs. Now every PR runs typecheck + Vitest.

Why

Makes the render contract enforceable: a server error can't silently regress to "No data" (#1336) and a not-ingested metric can't render as 0 (#1337) without a red build. This is task G-3.

Choices

  • corepack honors packageManager: pnpm@10.33.0 — no pnpm version drift (a hardcoded pnpm@8 would break the v9 lockfile).
  • Actions SHA-pinned + persist-credentials: false (supply-chain hardening, consistent with the insight repo gates).
  • typecheck + test are blocking (both verified green on main). lint is report-only for now — main has 3 pre-existing setState within an effect errors (in section-drilldown-sheet.tsx, engineering-dashboard-v2.tsx, team-view-v2.tsx); once those are fixed, drop continue-on-error to make lint blocking too (the ratchet).

Verified locally: typecheck clean, 79 tests pass on main (112 with #163/#164 merged).

…G-3)

The frontend had no test CI (only docker.yml), so the render-contract suite
(constructorfabric#163/constructorfabric#164) didn't gate PRs. This runs typecheck + vitest on every PR so a
server error can't silently regress to 'No data' (#1336/#1337) and null can't
render as 0 (#1337) without failing the build.

- corepack honors packageManager pnpm@10.33.0 (no version drift).
- actions SHA-pinned, persist-credentials: false.
- typecheck + test are blocking (both green on main); lint is report-only until
  3 pre-existing 'setState in effect' errors on main are cleared, then it flips
  to blocking (the ratchet).

Signed-off-by: Kenan Salim <kenan.salim@rolos.com>
@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@SharedQA, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 31 minutes and 10 seconds. Learn how PR review limits work.

To continue reviewing without waiting, enable usage-based billing in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8f0c19ed-a993-43c0-996e-20894dad116c

📥 Commits

Reviewing files that changed from the base of the PR and between bddede7 and 09d1c4f.

📒 Files selected for processing (1)
  • .github/workflows/frontend-ci.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

ktursunov added a commit to ktursunov/insight-front that referenced this pull request Jun 23, 2026
Set persist-credentials: false on all checkout steps so the GITHUB_TOKEN
isn't left in .git/config for later steps — this CI only reads code.
Carried over from the superseded frontend-ci PR (constructorfabric#165).

Signed-off-by: Konstantin Tursunov <6252265+ktursunov@users.noreply.github.com>
@ktursunov

Copy link
Copy Markdown
Contributor

#174 implements frontend CI as a superset of this PR: typecheck + Vitest (with coverage) + lint as three parallel jobs, on Node 24 (from .nvmrc) with node24-pinned actions, plus coverage reporting via irongut/CodeCoverageSummary (matching the constructorfabric/insight convention).

A couple of notes relative to this PR:

Suggest closing this in favour of #174. cc @SharedQA

@ktursunov ktursunov closed this Jun 23, 2026
ktursunov pushed a commit to ktursunov/insight-front that referenced this pull request Jun 23, 2026
Set persist-credentials: false on all checkout steps so the GITHUB_TOKEN
isn't left in .git/config for later steps — this CI only reads code.
Carried over from the superseded frontend-ci PR (constructorfabric#165).

Signed-off-by: Konstantin Tursunov <konstantin.tursunov@constructor.tech>
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.

2 participants