From 5378f7b52a5586eab6f61f7bdd48b311e0b7cbb7 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 11 Jul 2026 03:13:31 +0000 Subject: [PATCH] ci: run typecheck in the PR gate to match the post-merge gate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The PR workflow (ci.yml) ran lint + test + build, but not a full type-check. `npm run build` compiles with tsconfig.build.json, which excludes src/__tests__, and `npm test` runs under vitest, which strips types without checking them. As a result a type error in a test file (or any type mismatch outside the shipped source) passes PR CI. The push-to-main workflow (auto-tag.yml) does run `tsc --noEmit`, so such a regression is only caught *after* merge — where it fails the auto-tag/release job and blocks tagging until a follow-up fix lands. Add a `npm run typecheck` step so the PR gate is as strict as the post-merge gate and type regressions are caught before merge. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01S9yEyQHgsR7KvSL3ZAtWbJ --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fad540b..5939681 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,6 +22,9 @@ jobs: - name: Lint run: npm run lint + - name: Type check + run: npm run typecheck + - name: Test run: npm test