60 lines
1.5 KiB
YAML
60 lines
1.5 KiB
YAML
name: 'Tests: shellcheck'
|
|
|
|
on: [pull_request, push]
|
|
|
|
jobs:
|
|
shellcheck_matrix:
|
|
permissions:
|
|
contents: read
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
shell:
|
|
- bash
|
|
- sh
|
|
- dash
|
|
- ksh
|
|
file:
|
|
- nvm.sh
|
|
include:
|
|
- shell: bash
|
|
file: install.sh # only supported on bash
|
|
- shell: bash
|
|
file: bash_completion # only needed in bash/zsh
|
|
- shell: bash
|
|
file: nvm-exec # only runs in bash
|
|
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@v2
|
|
with:
|
|
allowed-endpoints:
|
|
ghcr.io:443
|
|
github.com:443
|
|
pkg-containers.githubusercontent.com:443
|
|
formulae.brew.sh:443
|
|
- uses: actions/checkout@v4
|
|
- name: Set up Homebrew
|
|
uses: Homebrew/actions/setup-homebrew@master
|
|
- name: Install latest shellcheck
|
|
run: brew install shellcheck
|
|
env:
|
|
HOMEBREW_NO_ANALYTICS: 1
|
|
- run: which shellcheck
|
|
- run: shellcheck --version
|
|
- name: Run shellcheck on ${{ matrix.file }}
|
|
run: shellcheck -s ${{ matrix.shell }} ${{ matrix.file }}
|
|
|
|
shellcheck:
|
|
permissions:
|
|
contents: none
|
|
needs: [shellcheck_matrix]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@v2
|
|
with:
|
|
egress-policy: block
|
|
- run: 'echo tests completed'
|