Tindakan GitHub yang melakukan analisis statis untuk skrip shell menggunakan shellcheck.

Shell linter dapat melakukan analisis statis dengan berbagai cara. Secara default, ia memindai semua skrip shell yang didukung kerang (sh/bash/dash/ksh) di proyek Anda. Namun, Anda dapat menggunakan parameter path untuk memindai file atau folder tertentu atau menggunakan parameter exclude-paths untuk mengecualikan file atau folder dari pemindaian. Dengan Shell Linter, Anda juga dapat menentukan keparahan kesalahan minimum untuk dipertimbangkan menggunakan parameter severity . Kasus penggunaan khusus bersama dengan contoh ditunjukkan di bawah ini:
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 " Perhatikan bahwa exclude-paths hanya menerima jalur relatif terhadap direktori root proyek Anda. Namun, jangan termasuk ./ Di awal jalan.
Untuk mengecualikan folder dan kontennya secara rekursif hanya menyediakan jalur folder tanpa / di ujungnya. Dalam contoh di atas, seluruh folder di Path tests/unit_tests akan dikecualikan dari linting.
- name : Run ShellCheck
uses : azohra/shell-linter@latest
with :
path : " src/*.sh "
severity : " error " - name : Run ShellCheck
uses : azohra/[email protected]path Opsional. Jalankan Lint Check pada file atau folder tertentu. Bawaan: .
exclude-pathsOpsional. Kecualikan file dan folder dari scan shellcheck.
severity Opsional. Tentukan keparahan kesalahan minimum untuk dipertimbangkan [gaya, info, peringatan, kesalahan]. Default: style
Perangkat lunak ini tersedia sebagai open source di bawah ketentuan lisensi MIT.