GitHub Action
La acción aún no está en Marketplace. Hasta que se publique, apunta uses a la copia de este repositorio.
Workflow
El plan necesita la función api. Guarda la clave como SCANDAR_API_KEY. La URL del servidor es 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 }}Entradas y salidas
api-key(obligatoria) — enmascarada con::add-mask::antes de cualquier otra línea de log.api-url— URL base del servidor de Scandar. Usahttps://scandar.dev.fail-on—highpor defecto.working-directory—.por defecto.repo—owner/nameopcional para las reglas de ignorar.annotations— true por defecto. Un::errorpor aviso con fallo, en la ruta del lockfile.comment-on-pr— un comentario, creado o actualizado. El marcador es<!-- scandar-action -->.continue-on-error-on-api-failure— false por defecto. Con true, un fallo de red o un HTTP 429/5xx sale con 0. Un fallo de política sigue saliendo con 1.
Salidas: passed, failing-count, report. El resumen del job se escribe en el resumen del paso.
Códigos de salida
0— correcto, o API inalcanzable concontinue-on-error-on-api-failureen true.1— un aviso superó el umbral (o malware, o un aviso explotado, salvo quefail-onseanone).2— falta la clave, URL de ejemplo o sin lockfile.3— fallo de red o de la API.
Forks
Una pull request desde un fork no recibe secretos. La acción no tiene entonces clave. Es lo esperado. No cambies el workflow a pull_request_target para evitarlo: ese evento se ejecuta con los secretos de la rama base en un checkout en el que puede influir un colaborador externo.
La acción solo lee nombres de manifiestos y lockfiles. No instala dependencias ni ejecuta archivos de la pull request. Los límites son 40 archivos y 15 MB. Las puntuaciones usan el alcance unknown. Las explicaciones siguen desactivadas: la acción nunca envía explain=1.
Otros sistemas de CI pueden ejecutar la CLI o el ejemplo con curl.