Это действие выдвигает результаты Spotbugs (или Findbugs) в качестве аннотаций Check Run.
Действие также может использоваться для любых других инструментов статического анализа, которые производят отчеты в формате Spotbugs XML. Сам отчет должен быть получен на бывшем этапе сборки, например, в сборке Maven.

path Необходимый. Файл, каталог или шаблон подстановочного знака, который описывает, где найти отчеты. Несколько файлов могут обрабатываться через глобусное выражение, например: '**/spotbugsXml.xml' .
name Необязательный. Имя для проверки запуска для создания. По умолчанию spotbugs .
title Необязательный. Название для проверки запуска для создания. По умолчанию SpotBugs Source Code Analyzer report .
token Необязательный. GitHub API токен доступа. По умолчанию ${{ github.token }} , который устанавливается actions/checkout@v2 минимально.
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 'И не забудьте включить выход XML для плагина 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 > Обратите внимание, что по умолчанию рабочие процессы на pull_request Events Checkout refs/pull/:prNumber/merge вместо головы запроса на вытягивание. Из -за этого номера строк для сгенерированных нарушений могут не соответствовать фактическим номерам строк, на которые они отображаются на HEAD . Как есть, на самом деле нет разумного способа запустить это действие в коммите Merge по запросу на привлечение, потому что результат будет опубликован в неназванном рабочем процессе для невидимого невидимого коммита. Даже для событий pull_request есть возможность зарекомендовать себя вместо этого. Чтобы сделать это, измените свое действие checkout соответственно:
- uses : actions/checkout@v2
with :
ref : ${{ github.event.pull_request.head.sha }} Это действие GitHub в серии других действий GitHub. Подобные действия включают:
Из -за ограничений GitHub API мы не можем указать, к какому запуска рабочего процесса (или базового контрольного пакета) должен быть связан недавно созданный пропуск. В результате, рабочие процессы, которые запускают несколько типов событий, могут продвигать результаты под другим событием, чем было выполнено действие. Для получения дополнительной информации см.: #3
Установите зависимости
$ npm installСоздайте TypeScript и упакуйте его для распространения
$ npm run build && npm run packageЗапустить тесты ✔
$ npm test
PASS ./index.test.js
✓ throws invalid number (3ms)
✓ wait 500 ms (504ms)
✓ test runs (95ms)
...