Diese Aktion treibt die Ergebnisse von Spotbugs (oder Findbugs) als Check -Laufanmerkungen vor.
Die Aktion kann auch für andere statische Analyse -Tools verwendet werden, die Berichte im Spotbugs -XML -Format erstellen. Der Bericht selbst muss in einem ehemaligen Build -Schritt erstellt werden, beispielsweise in einem Maven -Build.

path Erforderlich. Eine Datei, ein Verzeichnis oder ein Wildcard -Muster, das beschreibt, wo die Berichte gefunden werden sollen. Mehrere Dateien können über einen Glob -Ausdruck verarbeitet werden, z. B. '**/spotbugsXml.xml' .
name Optional. NAMEN SIE, DASS DER SPRÜCKLUSE AUF ERSETZEN. Standardeinstellungen zu spotbugs .
title Optional. Titel für den Scheck -Lauf zum Erstellen. Standardeinstellungen zum SpotBugs Source Code Analyzer report .
token Optional. GitHub API -Zugangs -Token. Standardmäßig ${{ github.token }} , das minimal durch actions/checkout@v2 festgelegt wird.
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 'Und vergessen Sie nicht, die XML -Ausgabe für das Maven -Plugin zu aktivieren:
< 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 > Bitte beachten Sie, dass standardmäßig Workflows bei pull_request Ereignissen checkout refs/pull/:prNumber/merge anstelle des Kopfes der Pull -Anfrage. Aus diesem Grund können Zeilennummern für die generierten Verstöße nicht den tatsächlichen Zeilennummern übereinstimmen, denen sie auf dem HEAD angezeigt werden. So wie es ist, gibt es nicht wirklich eine vernünftige Möglichkeit, diese Aktion auf den Merge -Commit der Pull -Anfrage auszuführen, da das Ergebnis für einen ansonsten unsichtbaren Commit in einen unbenannten Workflow veröffentlicht wird. Selbst für pull_request -Ereignisse besteht die Möglichkeit, stattdessen den Pull -Anfragekopf zu überprüfen. Ändern Sie dazu Ihre checkout -Aktion entsprechend:
- uses : actions/checkout@v2
with :
ref : ${{ github.event.pull_request.head.sha }} Dies ist eine Github -Aktion in einer Reihe anderer Github -Aktionen. Ähnliche Aktionen umfassen:
Aufgrund von GitHub -API -Einschränkungen können wir nicht angeben, welcher Workflow -Lauf (oder zugrunde liegende Check Suite) ein neu erstellter Scheckauslauf zugeordnet werden sollte. Infolgedessen können Workflows, die auf verschiedenen Arten von Ereignissen ausgelöst werden, die Ergebnisse unter einem anderen Ereignis durchführen, als die Aktion ausgeführt wurde. Weitere Informationen finden Sie unter: #3
Installieren Sie die Abhängigkeiten
$ npm installErstellen Sie das Typenkript und verpacken Sie es für die Verteilung
$ npm run build && npm run packageFühren Sie die Tests aus ✔️
$ npm test
PASS ./index.test.js
✓ throws invalid number (3ms)
✓ wait 500 ms (504ms)
✓ test runs (95ms)
...