การกระทำนี้ผลักผลลัพธ์จาก SpotBugs (หรือ FindBugs) เป็นคำอธิบายประกอบการทำงาน
การกระทำยังสามารถใช้สำหรับเครื่องมือการวิเคราะห์แบบคงที่อื่น ๆ ที่สร้างรายงานในรูปแบบ SpotBugs XML รายงานตัวเองจะต้องสร้างขึ้นในขั้นตอนการสร้างเดิมเช่นการสร้าง Maven

path ที่จำเป็น. รูปแบบไฟล์ไดเรกทอรีหรือไวด์การ์ดที่อธิบายว่าจะหารายงานได้ที่ไหน สามารถประมวลผลหลายไฟล์ผ่านนิพจน์ GLOB ได้เช่น: '**/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 เช็คเอาต์ refs/pull/:prNumber/merge แทนที่จะเป็นหัวของคำขอดึง ด้วยเหตุนี้หมายเลขบรรทัดสำหรับการละเมิดที่สร้างขึ้นอาจไม่สอดคล้องกับหมายเลขบรรทัดจริงที่พวกเขาจะแสดงบน HEAD อย่างที่เป็นอยู่ไม่มีวิธีที่สมเหตุสมผลในการดำเนินการนี้ในการรวมการร้องขอการดึงเนื่องจากผลลัพธ์จะถูกโพสต์ไปยังเวิร์กโฟลว์ที่ไม่มีชื่อสำหรับการกระทำที่มองไม่เห็น แม้สำหรับเหตุการณ์ 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)
...