GitHub Action
Die Action ist noch nicht auf dem Marketplace. Bis zur Veröffentlichung verweist uses auf die Kopie in diesem Repository.
Workflow
Der Plan braucht die Funktion api. Speichere den Schlüssel als SCANDAR_API_KEY. Die Server-URL ist https://scandar.dev.
name: Scandar
on:
pull_request:
push:
branches: [main]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./packages/scandar-action
# After publication: OWNER/scandar-action@v1
with:
api-key: ${{ secrets.SCANDAR_API_KEY }}
api-url: https://scandar.dev
fail-on: high
annotations: true
comment-on-pr: true
github-token: ${{ github.token }}Eingaben und Ausgaben
api-key(erforderlich) — wird vor jeder anderen Logzeile mit::add-mask::maskiert.api-url— Basis-URL des Scandar-Servers. Nutzehttps://scandar.dev.fail-on— Standardhigh.working-directory— Standard..repo— optionalowner/namefür Ignorier-Regeln.annotations— Standard true. Ein::errorpro fehlgeschlagener Advisory, am Lockfile-Pfad.comment-on-pr— ein Kommentar, erstellt oder aktualisiert. Die Markierung ist<!-- scandar-action -->.continue-on-error-on-api-failure— Standard false. Bei true endet ein Netzwerkfehler oder HTTP 429/5xx mit 0. Ein Policy-Fehler endet weiterhin mit 1.
Ausgaben: passed, failing-count, report. Die Job-Zusammenfassung landet in der Step-Zusammenfassung.
Exit-Codes
0— bestanden, oder die API war nicht erreichbar undcontinue-on-error-on-api-failureist true.1— eine Advisory hat die Schwelle überschritten (oder Malware oder eine ausgenutzte Advisory, außerfail-onistnone).2— fehlender Schlüssel, Platzhalter-URL oder keine Lockfile.3— Netzwerk- oder API-Fehler.
Forks
Ein Pull Request aus einem Fork erhält keine Secrets. Die Action hat dann keinen Schlüssel. Das ist so gewollt. Stelle den Workflow nicht auf pull_request_target um, um das zu umgehen: Dieses Ereignis läuft mit den Secrets des Basis-Branches in einem Checkout, den externe Mitwirkende beeinflussen können.
Die Action liest nur Manifest- und Lockfile-Namen. Sie installiert keine Abhängigkeiten und führt keine Dateien aus dem Pull Request aus. Die Grenzen sind 40 Dateien und 15 MB. Werte nutzen die Erreichbarkeit unknown. Erklärungen bleiben aus: Die Action sendet nie explain=1.
Andere CI-Systeme können die CLI oder das curl-Beispiel nutzen.