Files
systemic-game-design-course/.gitea/workflows/ci.yml
T
Lucas WintherandClaude Opus 5.5 638549161f
CI / Tool tests and sync-check (push) Successful in 13s
CI / Verify references (all modules, Rust and TS) (push) Successful in 1m32s
CI / Verify Expansion Drop solutions (all modules, Rust and TS) (push) Successful in 1m35s
CI / Coupling audit on references (push) Successful in 13s
CI / Site build (push) Successful in 25s
CI / Naive engine tests (Module 0) (push) Successful in 32s
feat(ci): verify Expansion Drop solutions; README quick start, disclaimer link; Rust reference lockfiles
- verify-references --expansion overlays expansion/solution on each reference and runs the
  cumulative tests plus the drop test; refuses a solution that touches src/engine/
- CI job verify-expansions
- README: workspace-template + git init step, tool list, repo disclaimer link
- Cargo.lock for every Rust reference (staged with the reference, pins serde for rustc 1.85.1)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 19:13:11 +01:00

94 lines
2.5 KiB
YAML

name: CI
on:
push:
branches: [main, "build/**"]
pull_request:
jobs:
tools:
name: Tool tests and sync-check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- run: npm run test:tools
- run: npm run check
- run: npm run test:site
verify-references:
name: Verify references (all modules, Rust and TS)
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- uses: dtolnay/rust-toolchain@1.85.1
- run: node tools/verify-references.mjs
verify-expansions:
name: Verify Expansion Drop solutions (all modules, Rust and TS)
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- uses: dtolnay/rust-toolchain@1.85.1
# Each module's reference + expansion/solution, cumulative tests + the drop's test.
- run: node tools/verify-references.mjs --expansion
coupling-audit:
name: Coupling audit on references
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Audit every reference engine
run: |
set -e
for d in course/*/reference/*/; do
echo "== $d"
node tools/coupling-audit.mjs "$d"
done
site:
name: Site build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- run: npm --prefix site ci
- run: npm --prefix site run build
env:
COURSE_HOST: ci.example.invalid
naive-engine:
name: Naive engine tests (Module 0)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- uses: dtolnay/rust-toolchain@1.85.1
# test_00_real_rules_whirlwind_order is expected to fail: it is marked
# #[should_panic] (Rust) / test.fails (TS), so the suite passes.
- run: cargo test
working-directory: naive-engine/rust
- run: npm ci
working-directory: naive-engine/ts
- run: npm test
working-directory: naive-engine/ts
- run: npm run typecheck
working-directory: naive-engine/ts