From be0164eb913b65c7d8b3409fbda27586ada36807 Mon Sep 17 00:00:00 2001 From: Maurice Date: Wed, 29 Jul 2026 10:54:12 +0200 Subject: [PATCH] ci: run the client gates alongside the suite instead of in front of it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The client suite is ~11 minutes now. With typecheck and lint sitting in front of it in the same job, a single lint finding threw away the whole test signal for that run — twice today. Both jobs pay the install and the shared build, which is cheap next to running the two in series. --- .github/workflows/test.yml | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2b3711b28..f307934c5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -144,8 +144,12 @@ jobs: path: server/coverage/ retention-days: 7 - client-tests: - name: Client Tests + client-quality: + # Split out of client-tests: the suite takes ~11 minutes, and having the + # gates in front of it meant a single lint finding threw away the whole test + # signal for that run. Both jobs pay the install/build, which is cheap next + # to running the two in series. + name: Client Types & Lint runs-on: ubuntu-latest steps: @@ -172,6 +176,25 @@ jobs: - name: Page pattern check run: cd client && npm run lint:pages + client-tests: + name: Client Tests + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + + - uses: actions/setup-node@v6 + with: + node-version: 24 + cache: npm + cache-dependency-path: package-lock.json + + - name: Install dependencies + run: npm ci --workspace shared && npm ci --workspace client + + - name: Build shared + run: npm run build --workspace=shared + - name: Run tests run: cd client && npm run test:coverage