--- # install moreutils to enable ifne (if not empty) # will only run the respective analyzers when files to test # are acutally found image: fnichol/check-shell:latest analyze: stage: test before_script: - apk add moreutils - shellcheck --version script: - echo "--------- CHECKING POSIX SHELLSCRIPTS -------------" - find . -type f -name '*.sh' | ifne xargs shellcheck -Calways - echo "--------- CHECKING ZSH SHELLSCRIPTS -------------" - find . -type f -name '*.zsh' | ifne xargs shellcheck -Calways -s bash -e SC2034 lint: stage: test before_script: - apk add moreutils - shfmt -version script: - echo "--------- CHECKING POSIX SHELLSCRIPTS -------------" - find . -type f -name '*.sh' -not -path '*/pomo-app/*' | ifne xargs shfmt -d -i 4 - echo "--------- CHECKING ZSH SHELLSCRIPTS -------------" - find . -type f -name '*.zsh' -not -path '*/pomo-app/*' | ifne xargs shfmt -d -i 4 test: stage: test image: alpine before_script: - apk add git bash - git clone https://github.com/bats-core/bats-core.git /bats - /bats/bin/bats --version script: - /bats/bin/bats -r .