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# 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