name: CI # K-114 (nexus-hub): Mini-CI für proxmox-scripts — Syntax, build.func-Source- # Pflicht und Validierungs-Unit-Tests. Läuft auf dem instanzweiten Runner # (Label homelab, ohne Deploy-Rechte — PR #6 / ct/runner.sh). on: push: branches: [main] pull_request: jobs: lint: name: Shell-Lint (bash -n, source-check, Validierungs-Tests) runs-on: homelab steps: - name: Checkout uses: actions/checkout@v4 - name: bash -n über alle Scripts run: | status=0 for f in ct/*.sh install/*.sh lib/*.func tests/*.sh; do if bash -n "$f"; then echo "ok $f" else echo "SYNTAX $f" >&2 status=1 fi done exit "$status" - name: build.func-Source-Check (jedes ct/*.sh) run: bash tests/check_ct_source.sh - name: Validierungs-Unit-Tests (lib/build.func) run: bash tests/test_validation.sh - name: shellcheck (falls auf dem Runner installiert) run: | if command -v shellcheck >/dev/null 2>&1; then # -S warning: Style-Hinweise nicht blockierend; externe Sources # (curl|source) kann shellcheck nicht folgen. shellcheck -S warning -e SC1090,SC1091 ct/*.sh install/*.sh tests/*.sh else echo "shellcheck nicht installiert — übersprungen (dokumentiert, K-114)" fi