name: Supply-Chain-Scan (Go) on: push: paths: - "**/*.go" - "go.mod" - "go.sum" pull_request: {} jobs: govulncheck: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.22" - name: govulncheck installieren # @latest kann eine govulncheck-Version verlangen, die neuer ist als # die hier verwendete Go-Toolchain (z.B. "requires go >= 1.25.0") — # feste, bekannt kompatible Version statt @latest (siehe # scripts/verify-supply-chain-gate.sh, Fund vom 2026-08-28 auf dem Testhost). run: go install golang.org/x/vuln/cmd/govulncheck@v1.1.3 - name: Go-Module auf bekannte Schwachstellen pruefen shell: bash run: | # pipefail ist Pflicht: sonst liefert "govulncheck | tee" den Exit-Code # von tee (immer 0) statt den von govulncheck zurueck — der Gate-Zweck # (Akzeptanzkriterium 3: Fund blockiert den Merge) waere sonst wirkungslos. set -o pipefail govulncheck ./... | tee govulncheck-report.txt - name: Scan-Bericht als Artefakt ablegen if: always() uses: actions/upload-artifact@v4 with: name: govulncheck-report path: govulncheck-report.txt