feat: deploy (Dockerfile, compose) and Gitea Actions CI

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas WintherandClaude Opus 5.5 committed 2026-10-29 18:40:58 +01:00
1 parent 699d038d1c
commit ce1baaa706
8 files changed
+169 -3

No files matched your search

+80
View File
@@ -0,0 +1,80 @@
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
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