การกระทำของ GitHub ที่ดำเนินการวิเคราะห์แบบคงที่สำหรับสคริปต์เชลล์โดยใช้ ShellCheck

เชลล์ linter สามารถทำการวิเคราะห์แบบคงที่ในรูปแบบต่าง ๆ โดยค่าเริ่มต้นจะสแกนสคริปต์เชลล์ที่รองรับ Shellcheck ทั้งหมด (sh/bash/dash/ksh) ในโครงการของคุณ อย่างไรก็ตามคุณสามารถใช้พารามิเตอร์ path เพื่อสแกนไฟล์หรือโฟลเดอร์เฉพาะหรือใช้พารามิเตอร์ exclude-paths เพื่อยกเว้นไฟล์หรือโฟลเดอร์จากการสแกน ด้วยเชลล์ลินเตอร์คุณยังสามารถระบุความรุนแรงขั้นต่ำของข้อผิดพลาดที่จะพิจารณาโดยใช้พารามิเตอร์ severity กรณีการใช้งานเฉพาะพร้อมตัวอย่างแสดงด้านล่าง:
jobs :
lint :
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@v1
- name : Run ShellCheck
uses : azohra/shell-linter@latest - name : Run ShellCheck
uses : azohra/shell-linter@latest
with :
path : " setup.sh " - name : Run ShellCheck
uses : azohra/shell-linter@latest
with :
path : " setup,deploy.sh " - name : Run ShellCheck
uses : azohra/shell-linter@latest
with :
path : " src " - name : Run ShellCheck
uses : azohra/shell-linter@latest
with :
path : " src/*.sh " - name : Run ShellCheck
uses : azohra/shell-linter@latest
with :
exclude-paths : " src/setup.sh,tests/unit_tests " โปรดทราบว่า exclude-paths ยอมรับเส้นทางที่สัมพันธ์กับไดเรกทอรีรากของโครงการของคุณเท่านั้น อย่างไรก็ตาม อย่า รวม ./ ที่จุดเริ่มต้นของเส้นทาง
ในการยกเว้นโฟลเดอร์และเนื้อหาของมันเป็นเพียงการจัดเตรียมเส้นทางของโฟลเดอร์ โดยไม่ต้องใช้ A / ในตอนท้าย ในตัวอย่างด้านบนโฟลเดอร์ทั้งหมดที่ tests/unit_tests จะถูกแยกออกจากผ้าสำลี
- name : Run ShellCheck
uses : azohra/shell-linter@latest
with :
path : " src/*.sh "
severity : " error " - name : Run ShellCheck
uses : azohra/[email protected]path ไม่จำเป็น. ดำเนินการตรวจสอบผ้าสำลีในไฟล์หรือโฟลเดอร์เฉพาะ ค่าเริ่มต้น: .
exclude-pathsไม่จำเป็น. ไม่รวมไฟล์และโฟลเดอร์จาก Shellcheck Scan
severity ไม่จำเป็น. ระบุความรุนแรงขั้นต่ำของข้อผิดพลาดที่จะพิจารณา [รูปแบบข้อมูลคำเตือนข้อผิดพลาด] ค่าเริ่มต้น: style
ซอฟต์แวร์นี้มีให้เป็นโอเพ่นซอร์สภายใต้ข้อกำหนดของใบอนุญาต MIT