GitHub Action
L'action non è ancora sul Marketplace. Finché non viene pubblicata, punta uses alla copia in questo repository.
Workflow
Il piano deve includere la funzionalità api. Salva la chiave come SCANDAR_API_KEY. L'URL del server è 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 }}Input e output
api-key(obbligatoria) — mascherata con::add-mask::prima di ogni altra riga di log.api-url— URL di base del server Scandar. Usahttps://scandar.dev.fail-on— predefinitohigh.working-directory— predefinito..repo—owner/namefacoltativo per le regole di esclusione.annotations— predefinito true. Un::errorper ogni avviso fallito, sul percorso del lockfile.comment-on-pr— un commento, creato o aggiornato. Il marcatore è<!-- scandar-action -->.continue-on-error-on-api-failure— predefinito false. Con true, un errore di rete o un HTTP 429/5xx esce con 0. Un errore di policy esce comunque con 1.
Output: passed, failing-count, report. Il riepilogo del job viene scritto nel riepilogo dello step.
Codici di uscita
0— superato, oppure API irraggiungibile concontinue-on-error-on-api-failurea true.1— un avviso ha superato la soglia (o malware, o un avviso sfruttato, salvo chefail-onsianone).2— chiave mancante, URL segnaposto o nessun lockfile.3— errore di rete o dell'API.
Fork
Una pull request da un fork non riceve i secret. L'action non ha quindi una chiave. È previsto. Non passare il workflow a pull_request_target per aggirarlo: quell'evento gira con i secret del branch base in un checkout che un collaboratore esterno può influenzare.
L'action legge solo i nomi di manifest e lockfile. Non installa dipendenze e non esegue file della pull request. I limiti sono 40 file e 15 MB. I punteggi usano la portata unknown. Le spiegazioni restano disattivate: l'action non invia mai explain=1.
Altri sistemi CI possono eseguire la CLI o l'esempio curl.