diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 98ac1a4..0548efe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,3 +85,10 @@ jobs: run: xvfb-run -a npm run test:vscode -- --version ${{ matrix.vscode-version }} env: DISPLAY: ":99.0" + + # Packaging runs vscode:prepublish, which re-runs the whole check chain. + # Doing it here — after the E2E download has populated .vscode-test — + # mirrors the order publish.yml uses, so a release-only break surfaces on + # the PR instead of at publish time. + - name: Package VSIX (mirrors publish.yml ordering) + run: npx @vscode/vsce package --no-update-package-json --out tailwind-stash.vsix diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b18c7ef..f40c374 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -36,6 +36,7 @@ jobs: - run: npm run format:check - run: npm run lint + - run: npm run typecheck - run: npm run compile - run: npm run test:unit diff --git a/vitest.config.ts b/vitest.config.ts index 1f07d03..6056fa7 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -26,7 +26,10 @@ export default defineConfig({ statements: 90, }, }, - exclude: ["test/vscode-e2e/**", "out/**", "node_modules/**"], + // .vscode-test holds the VS Code builds the E2E suite downloads, and those + // ship their own *.test.mts files. Without this, any vitest run that happens + // after an E2E run collects them and fails on "No test suite found". + exclude: ["test/vscode-e2e/**", "out/**", "node_modules/**", ".vscode-test/**"], globals: true, }, })