Uma ação do GitHub que executa uma análise estática para scripts de shell usando shellcheck.

O Shell Linter pode realizar análises estáticas de várias maneiras. Por padrão, ele digitaliza todos os scripts de shell suportados por shellcheck (SH/Bash/Dash/Ksh) em seu projeto. No entanto, você pode usar o parâmetro path para digitalizar um arquivo ou pasta específica ou usar o parâmetro exclude-paths para excluir arquivos ou pastas da verificação. Com o Shell Linter, você também pode especificar a gravidade mínima dos erros para considerar o uso do parâmetro severity . Casos de uso específicos, juntamente com exemplos, são mostrados abaixo:
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 " Observe que o exclude-paths aceita apenas caminhos em relação ao diretório raiz do seu projeto. No entanto, não inclua ./ No início dos caminhos.
Para excluir uma pasta e seu conteúdo, apenas fornece o caminho da pasta sem A / no final. No exemplo acima, a pasta inteira nos tests/unit_tests será excluída do linhagem.
- name : Run ShellCheck
uses : azohra/shell-linter@latest
with :
path : " src/*.sh "
severity : " error " - name : Run ShellCheck
uses : azohra/[email protected]path Opcional. Execute a verificação de fiapos em um arquivo ou pasta específica. Padrão: .
exclude-pathsOpcional. Exclua arquivos e pastas da shellcheck Scan.
severity Opcional. Especifique a gravidade mínima dos erros para considerar [estilo, informações, aviso, erro]. Padrão: style
Este software está disponível como código aberto nos termos da licença do MIT.