diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 790db39b3..a443d1411 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -42,9 +42,6 @@ jobs: - name: Smoke and full unit test suite run: bun run check - - name: Typecheck - run: bun run typecheck - - name: Install Python test dependencies run: python -m pip install -r python/requirements.txt @@ -62,6 +59,29 @@ jobs: - name: Provider recommendation tests run: npm run test:provider-recommendation + typecheck: + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + + - name: Set up Bun + uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 + with: + bun-version-file: .bun-version + + - name: Install dependencies + run: bun install --frozen-lockfile + + - name: Typecheck + run: bun run typecheck + + - name: Type tests + run: bun run typecheck:type-tests + web: runs-on: ubuntu-latest diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d3af2c465..922dce4fe 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -165,6 +165,13 @@ Python tests: python -m pytest -q python/tests ``` +Typecheck (enforced by the dedicated `typecheck` CI job): + +```bash +bun run typecheck +bun run typecheck:type-tests +``` + PR intent scan: ```bash @@ -184,12 +191,6 @@ PRs that fail CI checks will not be merged. These are not enforced by CI but are worth running locally before submitting. -Typecheck: - -```bash -bun run typecheck -``` - Focused tests: ```bash diff --git a/package.json b/package.json index 6afdd8b3c..19794bd5c 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "typecheck": "tsc --noEmit", "typecheck:type-tests": "bun run scripts/typecheck-type-tests.ts", "smoke": "bun run build && node dist/cli.mjs --version", - "check": "bun run smoke && bun run typecheck:type-tests && bun run test:full", + "check": "bun run smoke && bun run test:full", "verify:privacy": "bun run scripts/verify-no-phone-home.ts", "build:verified": "bun run build && bun run verify:privacy", "test:provider": "bun test --max-concurrency=1 src/services/api/*.test.ts src/utils/context.test.ts",