dotfiles/.gitlab-ci.yml

38 lines
1.1 KiB
YAML

---
# 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' | ifne xargs shfmt -d -i 2
- echo "--------- CHECKING ZSH SHELLSCRIPTS -------------"
- find . -type f -name '*.zsh' | ifne xargs shfmt -d -i 2
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 .