Skip to content

chore(deps): bump @graphql-codegen/typescript-resolvers from 6.0.0-alpha-20260219135511-f77afdad62fc366fc5f534344fa2a7eb96e1282f to 6.0.0-alpha-20260226131033-a969ebb287a7074d9b41d6e3af3e76b24ba462fa #57

chore(deps): bump @graphql-codegen/typescript-resolvers from 6.0.0-alpha-20260219135511-f77afdad62fc366fc5f534344fa2a7eb96e1282f to 6.0.0-alpha-20260226131033-a969ebb287a7074d9b41d6e3af3e76b24ba462fa

chore(deps): bump @graphql-codegen/typescript-resolvers from 6.0.0-alpha-20260219135511-f77afdad62fc366fc5f534344fa2a7eb96e1282f to 6.0.0-alpha-20260226131033-a969ebb287a7074d9b41d6e3af3e76b24ba462fa #57

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
NODE_VERSION: '24'
jobs:
# ---------------------------------------------------------------------------
# Install dependencies (shared across jobs via cache)
# ---------------------------------------------------------------------------
install:
name: Install
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 11.0.0-alpha.11
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Generate Prisma client
run: pnpm --filter @nextcalc/database db:generate
# Cache the entire node_modules tree (including generated Prisma client)
# so downstream jobs don't need to re-install.
- name: Save node_modules cache
uses: actions/cache/save@v4
with:
path: |
node_modules
apps/*/node_modules
apps/workers/*/node_modules
packages/*/node_modules
packages/database/src/generated
key: nm-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.sha }}
# ---------------------------------------------------------------------------
# Lint (Biome)
# ---------------------------------------------------------------------------
lint:
name: Lint
needs: install
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 11.0.0-alpha.11
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Restore node_modules cache
uses: actions/cache/restore@v4
with:
path: |
node_modules
apps/*/node_modules
apps/workers/*/node_modules
packages/*/node_modules
packages/database/src/generated
key: nm-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.sha }}
fail-on-cache-miss: true
- name: Run Biome lint
run: pnpm turbo run lint
# ---------------------------------------------------------------------------
# Typecheck (tsc --noEmit across all packages via turbo)
# ---------------------------------------------------------------------------
typecheck:
name: Typecheck
needs: install
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 11.0.0-alpha.11
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Restore node_modules cache
uses: actions/cache/restore@v4
with:
path: |
node_modules
apps/*/node_modules
apps/workers/*/node_modules
packages/*/node_modules
packages/database/src/generated
key: nm-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.sha }}
fail-on-cache-miss: true
- name: Restore Turbo cache
uses: actions/cache@v4
with:
path: .turbo
key: turbo-typecheck-${{ runner.os }}-${{ github.sha }}
restore-keys: |
turbo-typecheck-${{ runner.os }}-
- name: Run typecheck
run: pnpm turbo run typecheck
# ---------------------------------------------------------------------------
# Test (Vitest across math-engine, plot-engine, web, api)
# ---------------------------------------------------------------------------
test:
name: Test
needs: install
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 11.0.0-alpha.11
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Restore node_modules cache
uses: actions/cache/restore@v4
with:
path: |
node_modules
apps/*/node_modules
apps/workers/*/node_modules
packages/*/node_modules
packages/database/src/generated
key: nm-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.sha }}
fail-on-cache-miss: true
- name: Restore Turbo cache
uses: actions/cache@v4
with:
path: .turbo
key: turbo-test-${{ runner.os }}-${{ github.sha }}
restore-keys: |
turbo-test-${{ runner.os }}-
- name: Run tests
run: |
set +e
timeout 300 pnpm turbo run test 2>&1 | tee /tmp/test-output.log
code=${PIPESTATUS[0]}
if [ $code -eq 0 ]; then
exit 0
fi
# Check for vitest-specific test failures (not turbo process errors)
if grep -qP 'Test Files\s+.*failed' /tmp/test-output.log; then
echo "::error::Tests failed"
exit 1
fi
if grep -qP 'Tests\s+.*\d+\s+failed' /tmp/test-output.log; then
echo "::error::Tests failed"
exit 1
fi
# If timeout killed the process (exit 124) but no test failures found, tests passed
echo "::notice::Tests passed but process cleanup timed out (known vitest issue)"
exit 0
# ---------------------------------------------------------------------------
# Build (full production build via turbo)
# ---------------------------------------------------------------------------
build:
name: Build
needs: install
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 11.0.0-alpha.11
- uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
- name: Restore node_modules cache
uses: actions/cache/restore@v4
with:
path: |
node_modules
apps/*/node_modules
apps/workers/*/node_modules
packages/*/node_modules
packages/database/src/generated
key: nm-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.sha }}
fail-on-cache-miss: true
- name: Restore Turbo cache
uses: actions/cache@v4
with:
path: .turbo
key: turbo-build-${{ runner.os }}-${{ github.sha }}
restore-keys: |
turbo-build-${{ runner.os }}-
- name: Build all packages
run: pnpm turbo run build