From 30377e108ca86861e832a2644879b30125debefd Mon Sep 17 00:00:00 2001 From: xxxigm Date: Mon, 15 Jun 2026 22:34:40 +0700 Subject: [PATCH] ci(desktop): build the renderer on PRs so vite breaks fail in CI The desktop build break shipped because nothing in CI runs the apps/desktop production build. typecheck only runs `tsc`, which does not exercise Vite/Rolldown module resolution, so an unresolvable package export (the @assistant-ui/tap "./react-shim" split) sailed through green checks and only failed when users built from source on install/update. Add a desktop-build job that runs `npm run build` (tsc -b + vite build + assert-dist-built) for apps/desktop. This closes the gap so the same class of break fails in CI instead of on every user's machine. --- .github/workflows/typecheck.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/typecheck.yml b/.github/workflows/typecheck.yml index f3dcc71efdb..e21b80864c8 100644 --- a/.github/workflows/typecheck.yml +++ b/.github/workflows/typecheck.yml @@ -23,3 +23,20 @@ jobs: cache: npm - run: npm ci - run: npm run --prefix ${{ matrix.package }} typecheck + + # Production build of the desktop renderer. `typecheck` runs `tsc` only, + # which does NOT exercise Vite/Rolldown module resolution — so an + # unresolvable package export (e.g. a transitive @assistant-ui/tap that no + # longer exports "./react-shim") slips past typecheck and only explodes when + # users build apps/desktop from source on install/update. Run the real + # `vite build` here so that class of break fails in CI instead. + desktop-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 + with: + node-version: 22 + cache: npm + - run: npm ci + - run: npm run --prefix apps/desktop build