From 6cc5ce7a67d1339877131a0e9ae252861751ddea Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 11 Sep 2026 15:46:14 -0400 Subject: [PATCH] Fix CI builds. We were relying on build caches. (#1949) --- .github/workflows/artcraft-windows-publish.yml | 3 +++ frontend/README.md | 5 +++-- frontend/apps/artcraft/vite.config.ts | 11 ++++++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/artcraft-windows-publish.yml b/.github/workflows/artcraft-windows-publish.yml index 4be3d5c4e4..3eab50b7b3 100644 --- a/.github/workflows/artcraft-windows-publish.yml +++ b/.github/workflows/artcraft-windows-publish.yml @@ -73,6 +73,9 @@ jobs: # Use npx to ensure we use the local nx version echo "Building with npx nx..." npx nx run artcraft:build + if ($LASTEXITCODE -ne 0) { + exit $LASTEXITCODE + } echo "Checking build output..." dir apps/artcraft/dist/ | Select-Object -First 10 diff --git a/frontend/README.md b/frontend/README.md index 5e72ef568a..8f0f9fa0a1 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -33,8 +33,9 @@ The Vite build writes `apps/artcraft/dist`, which Tauri bundles. Public resource come from `apps/artcraft/app/public`. The app also needs its retained libraries, root package lock, TypeScript project references, and Nx/Vite configuration. The aliases in `tsconfig.base.json` resolve shared libraries to their source for -both development and production. The desktop build does not require library -`dist/` outputs or a separate library build. +both development and production. The app's Vite configuration loads this file +explicitly so imports inside shared libraries use the same aliases. The desktop +build does not require library `dist/` outputs or a separate library build. Import shared libraries by the names declared in their `package.json` files: diff --git a/frontend/apps/artcraft/vite.config.ts b/frontend/apps/artcraft/vite.config.ts index 7f253d9082..c7e65b3e87 100644 --- a/frontend/apps/artcraft/vite.config.ts +++ b/frontend/apps/artcraft/vite.config.ts @@ -57,7 +57,16 @@ export default defineConfig({ }, }, }, - plugins: [sparkWasmDataUrlFix(), tsconfigPaths(), wasm(), topLevelAwait()], + plugins: [ + sparkWasmDataUrlFix(), + tsconfigPaths({ + // Resolve workspace packages to source for every importer, including shared + // libraries. Fresh release checkouts have no prebuilt library dist files. + projects: [path.resolve(workspaceRoot, "tsconfig.base.json")], + }), + wasm(), + topLevelAwait(), + ], server: { fs: { allow: [workspaceRoot],