Esta acción empuja los resultados de SpotBugs (o FindBugs) como anotaciones de ejecución de verificación.
La acción también se puede utilizar para cualquier otra herramienta de análisis estático que produzca informes en el formato XML Spotbugs. El informe en sí debe generarse en un paso de compilación anterior, por ejemplo, una construcción de Maven.

path Requerido. Un archivo, directorio o patrón comodín que describe dónde encontrar los informes. Se pueden procesar varios archivos a través de una expresión global, por ejemplo: '**/spotbugsXml.xml' .
name Opcional. Nombre para la ejecución de cheques para crear. El valor predeterminado a spotbugs .
title Opcional. Título para la ejecución de cheques para crear. El valor predeterminado al SpotBugs Source Code Analyzer report .
token Opcional. GitHub API Access Token. El valor predeterminado a ${{ github.token }} , que se establece por actions/checkout@v2 mínimamente.
name : Java CI
on : [push]
jobs :
build :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
- name : Set up JDK 1.8
uses : actions/setup-java@v1
with :
java-version : 1.8
- uses : actions/cache@v1
with :
path : ~/.m2/repository
key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys : |
${{ runner.os }}-maven-
- name : Build with Maven
run : mvn -B verify spotbugs:spotbugs
- uses : jwgmeligmeyling/spotbugs-github-action@master
with :
path : ' **/spotbugsXml.xml 'Y no olvide habilitar la salida XML para el complemento Maven:
< build >
< plugins >
< plugin >
< groupId >com.github.spotbugs</ groupId >
< artifactId >spotbugs-maven-plugin</ artifactId >
< version >4.0.0</ version >
< configuration >
< xmlOutput >true</ xmlOutput >
< failOnError >false</ failOnError >
</ configuration >
</ plugin >
</ plugins >
</ build > Tenga en cuenta que, por defecto, los flujos de trabajo en eventos pull_request se revisan refs/pull/:prNumber/merge en lugar del cabezal de la solicitud de extracción. Debido a esto, los números de línea para las violaciones generadas pueden no alinearse con los números de línea reales a los que se muestran en la HEAD . Tal como están las cosas, no hay realmente una forma sensata de ejecutar esta acción en la confirmación de fusión de la solicitud de extracción, porque el resultado se publicaría en un flujo de trabajo sin nombre para una confirmación invisible. Incluso para los eventos pull_request existe la posibilidad de revisar el cabezal de solicitud de extracción. Para hacerlo, cambie su acción checkout en consecuencia:
- uses : actions/checkout@v2
with :
ref : ${{ github.event.pull_request.head.sha }} Esta es una acción de GitHub en una serie de otras acciones de Github. Acciones similares incluyen:
Debido a las limitaciones de la API de GitHub, no podemos especificar a qué flujo de trabajo se ejecuta (o suite de verificación subyacente) se debe asociar una ejecución de cheques recién creado. Como resultado, los flujos de trabajo que se activan en varios tipos de eventos pueden impulsar los resultados en otro evento que la acción se ejecutaron. Para obtener más información, consulte: #3
Instalar las dependencias
$ npm installCree el mecanografiado y empaquételo para su distribución
$ npm run build && npm run packageEjecute las pruebas ✔️
$ npm test
PASS ./index.test.js
✓ throws invalid number (3ms)
✓ wait 500 ms (504ms)
✓ test runs (95ms)
...