From 68649754f56335073376bbb67ae0fd8398b0cf50 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Tue, 14 Apr 2026 20:25:35 -0500 Subject: [PATCH] fix(ci): remove unsound tsbuildinfo cache causing TS2307 on fresh runners MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 'Cache TypeScript incremental state' steps persisted *.tsbuildinfo without always pairing it with dist/. On a fresh runner, tsc restored the tsbuildinfo, saw no input changes, and skipped emit — leaving packages/native/dist/{fd,image,text}/index.d.ts missing. pi-tui's Node16 resolution then failed on @gsd/native/fd, /image, /text. ci.yml's variant did cache dist/ but shared the tsbuild-${{ runner.os }}- restore-keys prefix with the broken pipeline.yml/build-native.yml caches, so it could fall back to a dist-less snapshot. Removing all six steps eliminates the shared namespace entirely. --- .github/workflows/build-native.yml | 10 --------- .github/workflows/ci.yml | 36 ------------------------------ .github/workflows/pipeline.yml | 20 ----------------- 3 files changed, 66 deletions(-) diff --git a/.github/workflows/build-native.yml b/.github/workflows/build-native.yml index 26893589f..57efa21a2 100644 --- a/.github/workflows/build-native.yml +++ b/.github/workflows/build-native.yml @@ -200,16 +200,6 @@ jobs: - name: Install dependencies run: npm ci - - name: Cache TypeScript incremental state - uses: useblacksmith/cache@v5 - with: - path: | - *.tsbuildinfo - packages/*/*.tsbuildinfo - key: tsbuild-${{ runner.os }}-${{ hashFiles('package-lock.json', 'tsconfig*.json', 'packages/*/tsconfig.json') }} - restore-keys: | - tsbuild-${{ runner.os }}- - - name: Build run: npm run build diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 992e5d58b..b57254207 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -147,18 +147,6 @@ jobs: nextjs-${{ runner.os }}-${{ hashFiles('web/package-lock.json') }}- nextjs-${{ runner.os }}- - - name: Cache TypeScript incremental state - uses: useblacksmith/cache@v5 - with: - path: | - *.tsbuildinfo - packages/*/*.tsbuildinfo - dist - packages/*/dist - key: tsbuild-${{ runner.os }}-${{ hashFiles('package-lock.json', 'tsconfig*.json', 'packages/*/tsconfig.json', 'src/**/*.ts', 'packages/*/src/**/*.ts') }} - restore-keys: | - tsbuild-${{ runner.os }}- - - name: Build core run: npm run build:core @@ -216,18 +204,6 @@ jobs: nextjs-${{ runner.os }}-${{ hashFiles('web/package-lock.json') }}- nextjs-${{ runner.os }}- - - name: Cache TypeScript incremental state - uses: useblacksmith/cache@v5 - with: - path: | - *.tsbuildinfo - packages/*/*.tsbuildinfo - dist - packages/*/dist - key: tsbuild-${{ runner.os }}-${{ hashFiles('package-lock.json', 'tsconfig*.json', 'packages/*/tsconfig.json', 'src/**/*.ts', 'packages/*/src/**/*.ts') }} - restore-keys: | - tsbuild-${{ runner.os }}- - - name: Build core run: npm run build:core @@ -255,18 +231,6 @@ jobs: - name: Install dependencies run: npm ci - - name: Cache TypeScript incremental state - uses: useblacksmith/cache@v5 - with: - path: | - *.tsbuildinfo - packages/*/*.tsbuildinfo - dist - packages/*/dist - key: tsbuild-${{ runner.os }}-${{ hashFiles('package-lock.json', 'tsconfig*.json', 'packages/*/tsconfig.json', 'src/**/*.ts', 'packages/*/src/**/*.ts') }} - restore-keys: | - tsbuild-${{ runner.os }}- - - name: Build core run: npm run build:core diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 414daad84..85c2d4799 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -57,16 +57,6 @@ jobs: nextjs-${{ runner.os }}-${{ hashFiles('web/package-lock.json') }}- nextjs-${{ runner.os }}- - - name: Cache TypeScript incremental state - uses: useblacksmith/cache@v5 - with: - path: | - *.tsbuildinfo - packages/*/*.tsbuildinfo - key: tsbuild-${{ runner.os }}-${{ hashFiles('package-lock.json', 'tsconfig*.json', 'packages/*/tsconfig.json') }} - restore-keys: | - tsbuild-${{ runner.os }}- - - name: Build core run: npm run build:core @@ -191,16 +181,6 @@ jobs: nextjs-${{ runner.os }}-${{ hashFiles('web/package-lock.json') }}- nextjs-${{ runner.os }}- - - name: Cache TypeScript incremental state - uses: useblacksmith/cache@v5 - with: - path: | - *.tsbuildinfo - packages/*/*.tsbuildinfo - key: tsbuild-${{ runner.os }}-${{ hashFiles('package-lock.json', 'tsconfig*.json', 'packages/*/tsconfig.json') }} - restore-keys: | - tsbuild-${{ runner.os }}- - - name: Run live LLM tests (optional) continue-on-error: true run: npm run test:live || echo "::warning::Live LLM tests failed — non-blocking, but worth investigating"