การกระทำนี้ดำเนินการ StaticCheck เพื่อค้นหาข้อบกพร่องและปัญหาอื่น ๆ ในรหัส GO ของคุณ
ที่ง่ายที่สุดเพียงเพิ่ม dominikh/staticcheck-action เป็นขั้นตอนในเวิร์กโฟลว์ที่มีอยู่ของคุณ เวิร์กโฟลว์ขั้นต่ำอาจมีลักษณะเช่นนี้:
name : " CI "
on : ["push", "pull_request"]
jobs :
ci :
name : " Run CI "
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 1
- uses : dominikh/staticcheck-action@v1
with :
version : " latest "ตัวอย่างขั้นสูงที่ดำเนินการทดสอบ, Go Vet และ StaticCheck ในหลาย OSS และ GO เวอร์ชันดูเหมือนว่า:
name : " CI "
on : ["push", "pull_request"]
jobs :
ci :
name : " Run CI "
strategy :
fail-fast : false
matrix :
os : ["windows-latest", "ubuntu-latest", "macOS-latest"]
go : ["1.18.x", "1.19.x"]
dir : ["server", "client"]
runs-on : ${{ matrix.os }}
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 1
- uses : WillAbides/[email protected]
with :
go-version : ${{ matrix.go }}
- run : " go test ./... "
- run : " go vet ./... "
- uses : dominikh/staticcheck-action@v1
with :
version : " latest "
install-go : false
cache-key : ${{ matrix.go }}
working-directory : ${{ matrix.dir }}โปรดดูเอกสารของ GitHub เกี่ยวกับการดำเนินการสำหรับเอกสารที่กว้างขวางเกี่ยวกับวิธีการเขียนและปรับแต่งเวิร์กโฟลว์
versionStaticCheck เวอร์ชันใดที่จะใช้ เนื่องจาก StaticCheck เวอร์ชันใหม่แนะนำการตรวจสอบใหม่ที่อาจทำลายการสร้างของคุณจึงแนะนำให้ปักหมุดเป็นเวอร์ชันเฉพาะและอัปเดต Staticheck อย่างมีสติ
เป็นค่า latest ซึ่งติดตั้ง StaticCheck เวอร์ชันล่าสุด
min-go-versionเวอร์ชันขั้นต่ำของ GO ที่ StaticCheck จะรายงานการวินิจฉัยสำหรับ นั่นคือการวินิจฉัยบางอย่างไม่สามารถใช้กับ GO รุ่นเก่าได้
หาก UNSET สิ่งนี้จะเริ่มต้นเป็นเวอร์ชัน GO ที่ระบุไว้ใน GO.MOD ของคุณ ค่าเริ่มต้นมักจะเป็นสิ่งที่คุณต้องการ
ดู https://staticcheck.io/docs/running-staticcheck/cli/#go สำหรับข้อมูลเพิ่มเติม
build-tags ไปสร้างแท็กที่ส่งผ่านไปยัง StaticCheck ผ่านธง -tags
install-go การกระทำควรติดตั้งเวอร์ชันล่าสุดของ Go To Instal และ Run StaticCheck หรือไม่ หาก StaticCheck เป็นการกระทำเพียงอย่างเดียวในงานของคุณตัวเลือกนี้มักจะถูกทิ้งไว้ในค่าเริ่มต้นของ true หากงานของคุณติดตั้งไปแล้วก่อนที่จะเรียกใช้ StaticCheck เช่นการเรียกใช้การทดสอบหน่วยจะเป็นการดีที่สุดที่จะตั้งค่าตัวเลือกนี้เป็น false
การเปิดตัวล่าสุดของ StaticCheck ทำงานกับการเปิดตัวครั้งเล็กครั้งล่าสุดของ GO ในเวลานั้น
cache-key สตริงที่จะรวมไว้ในคีย์แคชนอกเหนือจากค่าเริ่มต้นซึ่งเป็น runner.os สิ่งนี้มีประโยชน์เมื่อใช้หลายเวอร์ชัน
working-directoryเส้นทางสัมพัทธ์ไปยังไดเรกทอรีการทำงาน StaticCheck ควรถูกดำเนินการในสิ่งนี้มีประโยชน์เมื่อจัดการกับหลายโครงการภายในพื้นที่เก็บข้อมูลเดียว
สามารถรวมกันได้อย่างง่ายดายกับ matrix ไดเรกทอรีดูตัวอย่างขั้นสูงด้านบน