--- id: DIS-008 status: backlog phase: 0 priority: p1 labels: [phase:0, type:ci, priority:p1] branch: phase-0/ci-pipeline assignee: null started: null pr: null merged: null --- # DIS-008: Forgejo Actions CI (build, test, lint) ## Ziel Jeder PR gegen `main` triggert eine CI-Pipeline: `npm run build`, `npm test`, `npm run lint`. Matrix: Linux + Windows. Ohne grüne Checks kein Merge. ## Kontext Forgejo Actions ist API-kompatibel mit GitHub Actions. → `docs/development-plan.md` Phase 0 Task 8. ## Scope - **In**: `.forgejo/workflows/ci.yml` mit `pull_request`-Trigger, Matrix `ubuntu-latest`/`windows-latest`, Steps: checkout → setup-node 20 → `npm ci` → build → test · ESLint-Basis-Config + `no-shell-true`-Guard · `npm run lint`-Script in `package.json` - **Out**: Deployment-Jobs, Coverage-Upload, Release-Automation ## Definition of Done - [ ] CI-Workflow liegt unter `.forgejo/workflows/ci.yml` - [ ] Pipeline läuft grün auf einem Test-PR (manuell verifiziert) - [ ] Matrix deckt Linux + Windows ab - [ ] `npm run lint` läuft lokal - [ ] README-Abschnitt „CI" vorhanden ## Dateien (erwartet) - `.forgejo/workflows/ci.yml` - `.eslintrc.cjs` - `package.json` - `README.md` ## Abhängigkeiten Sollte nach DIS-002, DIS-003, DIS-005 kommen (Lint-Rules greifen auf sauberer Basis). ## Spec → `docs/backlog.md` #DIS-008