CI-Pipeline (Gitea Actions) + Tests auf kritischen Agent-/Backend-Pfaden #55
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ziel
CI-Pipeline (Gitea Actions) + ein Minimum an Tests auf den kritischen Pfaden. Aktuell: 1 Rust-Test, 0 Python/TS-Tests, kein
.gitea/workflows. Die Bugs der letzten Wochen (#38, #44, #51, #52) sind genau die Klasse, die CI/Tests gefangen hätten.CI (
.gitea/workflows/ci.yml)Bei PR + Push auf
main:cargo fmt --check,cargo clippy -D warnings,cargo test,cargo build— inkl. Build-Check der Cross-Targetsx86_64-unknown-freebsdund Windows (x86_64-pc-windows-gnu), da genau dort Bugs auftraten.server/):ruff(lint) +pytest(Smoke: App importiert, Router laden, reine Logik-Units).npm ci && npm run check(svelte-check) +npm run build.Test-Prioritäten (die Pfade, die real gebrochen sind)
Agent (Rust, reine Logik isoliert testbar machen):
is_ct(vmid)/ VM-vs-CT-Dispatch → nie qemu-Pfad für LXC (#51/#52).scan_interval-Übernahme aus auth_ok (#44).ss/ FreeBSDsockstat) inkl. v4/v6.Backend (pytest):
_dedup_ports(v4/v6, tcp/udp) (#35).notify()-Gating (enabled + events[event]) pro Channel.Frontend: svelte-check grün; Smoke-Render der Kernkomponenten (Ports/Security/VM-Modal).
Akzeptanz
cargo buildfür alle Targets im CI verifiziert.Branch
chore/ci-and-testsCI-Skelett ist gepusht (Commit
dfa6d9e).gitea/workflows/ci.yml+server/tests/(grüner Smoke-Test) sind aufmain. Build-Schritte blocken, Lint/Secrets sind bewusstcontinue-on-error, damit der erste Lauf auf der bestehenden Codebasis nicht komplett rot ist.Was cc jetzt übernimmt
_dedup_portsv4/v6, tcp/udp (#35)is_ct/ CT-vs-VM-Dispatch (#51/#52)scan_interval-Übernahme aus auth_ok (#44)notify()-Gating (enabled + events) pro Channelcontinue-on-error: trueschrittweise entfernen, sobald sauber: zuerstcargo fmt, dannruff, dannclippy -D warnings, zuletztsvelte-check.x86_64-pc-windows-gnu(mingw-w64) undx86_64-unknown-freebsd(sysroot/cargo-cross)..gitleaks.toml-Allowlist für eigene-Infra-Referenzen, danncontinue-on-errorentfernen (= echtes Secret-Gate).runs-on-Label an den eigenen act_runner anpassen, fallsubuntu-latestdort nicht gemappt ist.python3 scripts/add_spdx_headers.py --holder "Sebastian Serfling" --year 2026 --write(idempotent).Akzeptanz
CI grün bei PR/Push; Build/Test blockierend; Lint+Secrets als Gates aktiv; kritische Agent-/Backend-Pfade durch Tests gedeckt.
Branch:
chore/ci-and-testsErledigt unter #186 Paket C (commit `
9973377`).`.gitea/workflows/ci.yml`: neue Jobs `audit-python` (pip-audit), `audit-rust` (cargo-audit, Matrix ×3 Crates), `audit-frontend` (npm audit) — je REPORT-Schritt (continue-on-error) + GATE-Schritt. npm gated nativ `--audit-level=high`; pip-audit/cargo-audit kennen keinen Severity-Filter → Gate blockiert konservativ bei jedem Advisory (Obermenge HIGH/CRITICAL). gitleaks von report auf blockierend gestellt.
Akzeptanz C erfüllt: pip-/cargo-/npm-audit laufen in CI; HIGH/CRITICAL blockiert den Lauf. (Service-Extraktion für Backend-Tests bleibt separat #95.)