From c959fb77cf95dff604c2dd99199f577e06ab8e34 Mon Sep 17 00:00:00 2001 From: Nico <47644445+nicotsx@users.noreply.github.com> Date: Wed, 25 Feb 2026 21:18:18 +0100 Subject: [PATCH] ci: parallelize ci checks (#577) --- .github/workflows/checks.yml | 68 ++++++++++++++++++++++++++++++++---- 1 file changed, 61 insertions(+), 7 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 3c88d2ca..570aabd0 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -3,8 +3,6 @@ name: Checks on: workflow_call: pull_request: - branches: - - main push: branches: - main @@ -12,15 +10,19 @@ on: permissions: contents: read +concurrency: + group: checks-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: - checks: - timeout-minutes: 15 + lint: + timeout-minutes: 10 runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v6 with: - fetch-depth: 0 + fetch-depth: 1 - name: Install dependencies uses: "./.github/actions/install-dependencies" @@ -30,13 +32,65 @@ jobs: config: .oxlintrc.json deny-warnings: true + typecheck: + timeout-minutes: 10 + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + fetch-depth: 1 + + - name: Install dependencies + uses: "./.github/actions/install-dependencies" + - name: Run type checks shell: bash run: bun run tsc - - name: Run tests + test-server: + timeout-minutes: 15 + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + fetch-depth: 1 + + - name: Install dependencies + uses: "./.github/actions/install-dependencies" + + - name: Run server tests shell: bash - run: bun run test --ci --coverage + run: bun run test:server + + test-client: + timeout-minutes: 15 + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + fetch-depth: 1 + + - name: Install dependencies + uses: "./.github/actions/install-dependencies" + + - name: Run client tests + shell: bash + run: bun run test:client + + build: + timeout-minutes: 15 + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + fetch-depth: 1 + + - name: Install dependencies + uses: "./.github/actions/install-dependencies" - name: Build project shell: bash