Skip to content

chore(deploy): bulletproof Vercel build config#18

Merged
deaneeth merged 2 commits into
mainfrom
dev
Jun 5, 2026
Merged

chore(deploy): bulletproof Vercel build config#18
deaneeth merged 2 commits into
mainfrom
dev

Conversation

@deaneeth

@deaneeth deaneeth commented Jun 5, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes the astro: command not found build error on Vercel preview builds and makes the configuration self-documenting so it can never silently drift again.

What was breaking

Vercel's Git integration had no rootDirectory set, so it built from the repo root, detected no pnpm-lock.yaml there, fell back to npm, and failed to find astro.

Three-layer fix

Layer File Protects against
Commit web/.vercel/project.json web/.gitignore updated Re-linking, wrong project targeted
Explicit build commands web/vercel.json Dashboard settings drifting or being reset
--frozen-lockfile web/vercel.json installCommand Silent pnpm version skew in CI

Pre-merge checklist audit

RTL

  • verilator --lint-only -Wall rtl/*.sv — clean, zero warnings
  • golden.py 4/4 pass
  • cocotb suite passes in CI (v0.9-rc)
  • rtl/README.md present

WASM

  • tiny_tpu.mjs + .wasm in web/public/
  • WASM CI (Node matmul == numpy) passed on v0.9-rc

Frontend

  • TypeScript strict, lint/typecheck/build clean
  • All WASM islands use client:only="react" — no SSR leaks
  • Landing page GIF, docs, mobile-clean

SEO & Quality

  • OG / Twitter / JSON-LD / canonical complete
  • Sitemap + robots.txt present
  • CI green on dev + main (Web CI)
  • Lighthouse re-run needed after merge — Speed Index fix is in but unconfirmed at ≥ 90

Test plan

  • Vercel preview build is READY (no astro: command not found)
  • pnpm install --frozen-lockfile && pnpm build passes locally from web/
  • After merge: run Lighthouse on https://tiny-tpu.vercel.app — Perf ≥ 90, SEO 100, A11y ≥ 95

deaneeth added 2 commits June 5, 2026 23:00
Three-layer defence against the rootDirectory/pnpm misconfiguration that
caused the dev→main preview build to error:

1. Commit web/.vercel/project.json — project link is in the repo so
   re-linking is never required and the correct project is always targeted.

2. Explicit build commands in web/vercel.json — framework, installCommand,
   buildCommand, and outputDirectory are now declared in the file Vercel
   reads when rootDirectory=web. Dashboard settings can no longer drift
   silently; the file is the source of truth.

3. pnpm install --frozen-lockfile — prevents silent lockfile mutations
   during CI installs that could cause version skew.
chore(deploy): bulletproof Vercel build config
@deaneeth deaneeth added build Build system / toolchain change chore Maintenance and tooling labels Jun 5, 2026
@deaneeth deaneeth self-assigned this Jun 5, 2026
@vercel

vercel Bot commented Jun 5, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
tiny-tpu Ready Ready Preview, Comment Jun 5, 2026 5:48pm

@deaneeth deaneeth merged commit 281d654 into main Jun 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build Build system / toolchain change chore Maintenance and tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant