SPB Git

spb/earth-now Public License

earth-now.co — real-time planetary dashboard: live world metrics modeled, not streamed.

TypeScript 93% Shell 2.3% SQL 1.4% JavaScript 1.3% Dockerfile 1.2% CSS 0.8%
1.2 KB · 50 lines yaml
Raw Blame History
1# earth-now.co2# Author:  Simon-Pierre Boucher3# Contact: contact@spboucher.ai4# File:    .github/workflows/ci.yml5# Purpose: CI — mandatory header lint, strict typecheck, full test suite and build (incl. widget size gate) on every push/PR67name: CI89on:10  push:11    branches: [main]12  pull_request:1314concurrency:15  group: ci-${{ github.ref }}16  cancel-in-progress: true1718jobs:19  ci:20    runs-on: ubuntu-latest21    timeout-minutes: 2022    env:23      ENABLE_RT_POLLERS: "0"24    steps:25      - uses: actions/checkout@v42627      - uses: pnpm/action-setup@v428        # version is read from package.json "packageManager"2930      - uses: actions/setup-node@v431        with:32          # jsdom 30 → undici 8 needs markAsUncloneable (Node >= 22.9)33          node-version: 2234          cache: pnpm3536      - name: Install37        run: pnpm install --frozen-lockfile3839      - name: Header lint (mandatory author header on every source file)40        run: npx tsx scripts/check-headers.ts4142      - name: Typecheck (strict, all packages)43        run: pnpm typecheck4445      - name: Tests (golden, property-based, client/server consistency)46        run: pnpm test4748      - name: Build (apps + widget ≤ 15 KB gzip gate)49        run: pnpm build50