Skip to content

ci: add web build job to validate frontend on PRs#100

Merged
dev-jodee merged 2 commits into
mainfrom
ci/add-web-build-job
Jun 4, 2026
Merged

ci: add web build job to validate frontend on PRs#100
dev-jodee merged 2 commits into
mainfrom
ci/add-web-build-job

Conversation

@dev-jodee
Copy link
Copy Markdown
Collaborator

Summary

  • Add a web-build job (new .github/workflows/web.yml) that compiles apps/web on every PR.
  • Closes a CI gap: apps/web was never built or typechecked in CI, so a frontend-only change could break the production build with nothing catching it.
  • Node-only job (no Rust/Solana toolchain): pnpm install then pnpm --filter @solana/escrow-program-web build. The web app's prebuild hook generates + builds the @solana/escrow TS client from the committed IDL.

Test Plan

Verified the full chain locally, including cold start (client artifacts removed → prebuild regenerates them):

pnpm install
pnpm --filter @solana/escrow-program-web build   # prebuild gen+build client, then tsc -b && vite build -> green

The apps/web workspace was never built or typechecked in CI, so
frontend-only changes could break the production build with nothing
catching it.

Add a Node-only web-build job: pnpm install, then build apps/web. Its
prebuild hook generates and builds the TS client from the committed IDL,
so no Rust/Solana toolchain is required.
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
solana-escrow-program Ready Ready Preview, Comment Jun 4, 2026 1:51pm

Request Review

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 4, 2026

Greptile Summary

Adds a new web-build CI job in .github/workflows/web.yml that installs Node dependencies and runs pnpm --filter @solana/escrow-program-web build (including its prebuild hook which regenerates the TypeScript client from the committed IDL). The action versions and job structure are consistent with the existing test.yml and format.yml workflows.

  • Closes a CI gap where apps/web was never typechecked or built during CI, meaning a frontend-only breakage could reach main undetected.
  • The pull_request trigger correctly scopes to relevant paths (apps/web/**, pnpm-lock.yaml, .nvmrc, and the workflow file itself), matching the pattern used elsewhere in the repo.

Confidence Score: 5/5

Safe to merge — this is a purely additive CI workflow with no production code changes.

The workflow is a straightforward, additive CI job using the same action versions and job structure already proven in this repository. No production code is modified, and the job structure is well-scoped.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/web.yml New CI job that builds the web app on PRs touching web-related paths and on all pushes to main; action versions match the repo's existing conventions.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Event triggered] --> B{Event type?}
    B -->|push to main| C[Run web-build job]
    B -->|pull_request| D{Paths filter match?}
    D -->|No| E[Skip job]
    D -->|Yes| C
    C --> F[checkout v6]
    F --> G[pnpm action-setup v6]
    G --> H[setup-node v6 with .nvmrc]
    H --> I[pnpm install]
    I --> J[pnpm filter escrow-program-web build]
    J --> K[prebuild: generate TS client from IDL]
    K --> L[tsc and vite build]
    L --> M{Result}
    M -->|success| N[CI passes]
    M -->|failure| O[CI fails]
Loading

Reviews (2): Last reviewed commit: "Apply suggestions from code review" | Re-trigger Greptile

Comment thread .github/workflows/web.yml
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
@dev-jodee dev-jodee merged commit e3336f0 into main Jun 4, 2026
12 checks passed
@dev-jodee dev-jodee deleted the ci/add-web-build-job branch June 4, 2026 13:57
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