ci(quick-261009-p0m): Sicherheitspruefung als reiner Bericht in der Pipeline
- Skript .gitea/scripts/security-scan.sh: gitleaks, pnpm audit, osv-scanner, Semgrep, Trivy (Quellstand und Abbilder), angepinnt und per SHA256 geprueft, Exit immer 0 - Job security nach publish (nur main und Tags v*, continue-on-error, Zeitlimit 30 Minuten, kein Secret) - Ausnahmelisten .gitleaks.toml und .semgrepignore fuer geprueft harmlose Treffer - docs/ci-cd-setup.md beschreibt den Job Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,9 @@
|
||||
# quick-260917-kgc: Die beiden tauri-build-Schritte signieren die Pakete mit dem
|
||||
# Updater-Schluessel (Secrets TAURI_SIGNING_PRIVATE_KEY/_PASSWORD, nur an diesen
|
||||
# zwei Schritten); desktop-collect.sh traegt die .sig-Inhalte ins Manifest.
|
||||
# quick-261009-p0m: Job `security` (Sicherheitspruefung) laeuft nach `publish`, nur auf
|
||||
# main und Tags v*, ist reiner Bericht (continue-on-error, nie in einem `needs`, kein
|
||||
# Secret) und ruft .gitea/scripts/security-scan.sh auf.
|
||||
name: Tessera CI/CD
|
||||
|
||||
on:
|
||||
@@ -258,3 +261,35 @@ jobs:
|
||||
env:
|
||||
GITEA_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
|
||||
run: sh .gitea/scripts/publish-release.sh
|
||||
|
||||
security:
|
||||
name: Sicherheitspruefung (nur Bericht)
|
||||
runs-on: ubuntu-latest
|
||||
needs: publish
|
||||
# Ausdruecklich noetig: Ein uebersprungener `needs`-Job blockiert in Gitea nicht,
|
||||
# ohne diese Bedingung liefe der Job auch nach einem Push auf `live` (ohne Abbilder).
|
||||
if: gitea.ref == 'refs/heads/main' || startsWith(gitea.ref, 'refs/tags/v')
|
||||
# Reiner Bericht: Ergebnis darf nie etwas blockieren oder den Lauf rot faerben.
|
||||
continue-on-error: true
|
||||
# Ein haengender Scan darf den (einzigen) Runner nicht dauerhaft belegen.
|
||||
timeout-minutes: 30
|
||||
steps:
|
||||
# Volle Historie: gitleaks liest alle Commits.
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
# Kein Secret in diesem Job; das Skript bricht nie ab (siehe docs/ci-cd-setup.md).
|
||||
- name: Sicherheitspruefungen (nur Bericht)
|
||||
run: sh .gitea/scripts/security-scan.sh all || true
|
||||
|
||||
# actions/upload-artifact@v4 lehnt Gitea ab; v3 ist der laufende Stand.
|
||||
# Best effort: Die Zeilen SECURITY-SUMMARY im Protokoll genuegen immer.
|
||||
- name: Berichte als Artefakt ablegen
|
||||
if: always()
|
||||
continue-on-error: true
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sicherheitsberichte
|
||||
path: security-reports/
|
||||
retention-days: 30
|
||||
|
||||
Reference in New Issue
Block a user