ci: add webapp build job to validate frontend on PRs#156
Conversation
The webapp/ workspace was never built, typechecked, or tested in CI. Frontend-only dependency bumps (e.g. lucide-react via dependabot) passed all checks without anything compiling the code that consumes them. Add a Node-only webapp-build job: generate + build the TS client, then run tsc -b and vite build for webapp. No Rust/Solana toolchain needed since generate-clients reads the committed IDL.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Compute Unit Report
Generated: 2026-06-04 |
Greptile SummaryThis PR adds a
Confidence Score: 4/5Safe to merge — adds a CI-only job with no production code changes, correctly wired to the shared setup action. The workflow addition is straightforward and matches the existing job's patterns. The only gap is the missing .github/workflows/build.yml — worth adding a Important Files Changed
Sequence DiagramsequenceDiagram
participant GH as GitHub Actions
participant Setup as .github/actions/setup
participant PNPM as pnpm (Node only)
participant Gen as generate-clients
participant TsClient as @solana/subscriptions
participant Webapp as webapp
GH->>Setup: "checkout@v6 (fetch-depth: 1)"
GH->>Setup: composite action (install-rust: false, install-solana: false, install-just: false)
Setup->>PNPM: pnpm install --frozen-lockfile
GH->>Gen: pnpm run generate-clients (reads committed idl/subscriptions.json)
Gen-->>TsClient: writes clients/typescript/src/generated/
GH->>TsClient: "pnpm --filter @solana/subscriptions build"
TsClient-->>Webapp: "workspace:* dependency resolved"
GH->>Webapp: "pnpm --filter webapp build (tsc -b && vite build)"
Reviews (1): Last reviewed commit: "ci: add webapp build job to validate fro..." | Re-trigger Greptile |
Summary
webapp-buildjob to.github/workflows/build.ymlthat compiles thewebapp/workspace on every PR.webapp/was never built, typechecked, or tested. Frontend-only dependency bumps (e.g. the currentlucide-reactdependabot PR) went green without anything compiling the code that uses them.tsc -b && vite buildfor webapp.generate-clientsreads the committed IDL, so nocargo build-sbfneeded.Test Plan
Verified the full chain locally on current main:
After merge, the new
webapp-buildcheck should appear and pass on open PRs (including the lucide-react bump).