From 1f17430bfe14c77587ba630834c5fd7cec6eec4a Mon Sep 17 00:00:00 2001 From: Greg Jackson Date: Thu, 26 Mar 2026 20:30:04 +0000 Subject: [PATCH] ci: add type checking and Node version matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Split CI into two jobs: - typecheck: runs tsc --noEmit to catch type errors independently - test: runs build + integration tests against PostgreSQL Add Node 20 to the test matrix alongside 22 to verify compatibility across current LTS versions. Remove FORCE_JAVASCRIPT_ACTIONS_TO_NODE24 env var (no longer needed with actions/setup-node@v4). Rename test.yml → ci.yml to reflect broader scope. --- .github/workflows/{test.yml => ci.yml} | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) rename .github/workflows/{test.yml => ci.yml} (66%) diff --git a/.github/workflows/test.yml b/.github/workflows/ci.yml similarity index 66% rename from .github/workflows/test.yml rename to .github/workflows/ci.yml index d5eb568..40c32f6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Tests +name: CI on: push: @@ -7,10 +7,26 @@ on: branches: [main] jobs: + typecheck: + name: Type Check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: '22' + cache: 'npm' + + - run: npm ci + - run: npx tsc --noEmit + test: + name: Test (Node ${{ matrix.node-version }}) runs-on: ubuntu-latest - env: - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + strategy: + matrix: + node-version: ['20', '22'] services: postgres: @@ -32,7 +48,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: '22' + node-version: ${{ matrix.node-version }} cache: 'npm' - run: npm ci