From dcb27281774717f73cc4d0b9001e21c907205fff Mon Sep 17 00:00:00 2001 From: Vivswan Shah <58091053+Vivswan@users.noreply.github.com> Date: Wed, 23 Sep 2026 16:51:12 -0400 Subject: [PATCH] ci(checks): run knip in the check gate and name the e2e job for what it runs knip ran nowhere in CI and sat outside `bun run check`, so a dead export could land unseen; it now runs after lint in both. The checks.yml job `e2e-smoke` has run the full scenario corpus plus fuzz on every PR, so it is renamed `e2e`. No `needs:` names the job and the rulesets require only all-green and pr-title, so the rename changes no required check. --- .github/workflows/checks.yml | 4 +++- package.json | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 93e2c85c..539b8881 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -18,6 +18,8 @@ jobs: - uses: ./.github/actions/setup - name: Lint (biome) run: bun run lint + - name: Unused exports (knip) + run: bun run knip - name: Lint (architecture) run: bun run lint:arch - name: Typecheck @@ -116,7 +118,7 @@ jobs: # The action bundle runs under node24, so node is installed beside bun. The whole corpus runs on every event: # scenarios, then fuzz. - e2e-smoke: + e2e: runs-on: ubuntu-latest timeout-minutes: 15 steps: diff --git a/package.json b/package.json index cac8d473..f113860b 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "access": "public" }, "scripts": { - "check": "bun run lint && bun run lint:arch && bun run check:compat && bun run typecheck && bun run test && bun run build:check", + "check": "bun run lint && bun run knip && bun run lint:arch && bun run check:compat && bun run typecheck && bun run test && bun run build:check", "check:compat": "bun .github/scripts/check-compat-markers.ts", "lint": "bun x biome ci --error-on-warnings .", "lint:yaml": "git ls-files -z '*.yml' '*.yaml' | xargs -0 yamllint -s",