يدفع هذا الإجراء نتائج من spotbugs (أو FindBugs) كشرح توضيحي للتحقق.
يمكن أيضًا استخدام الإجراء في أي أدوات تحليل ثابتة أخرى تنتج تقارير في تنسيق Spotbugs XML. يجب إنشاء التقرير نفسه في خطوة بناء سابقة ، على سبيل المثال بناء Maven.

path مطلوب. ملف أو دليل أو نمط البرية الذي يصف مكان العثور على التقارير. يمكن معالجة ملفات متعددة من خلال تعبير كروي ، على سبيل المثال: '**/spotbugsXml.xml' .
name خياري. اسم للتحقق لإنشاء. الإعدادات الافتراضية إلى spotbugs .
title خياري. العنوان لفحص التشغيل لإنشاء. الإعدادات الافتراضية SpotBugs Source Code Analyzer report .
token خياري. Github API Access Token. الإعدادات الافتراضية إلى ${{ github.token }} ، والتي يتم تعيينها بواسطة actions/checkout@v2 minimly.
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 CHETOUT 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)
...