Add shellcheck

Add shellcheck CI and shellcheck in Makefile (bash-check rule)

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
This commit is contained in:
Bensuperpc 2021-08-03 00:47:26 +02:00
parent c1526555a5
commit 882a67b9d2
2 changed files with 37 additions and 0 deletions

26
.github/workflows/shellcheck.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: Shellcheck CI
on:
push:
branches:
- '*'
paths-ignore:
- '**/README.md'
pull_request:
branches:
- '*'
paths-ignore:
- '**/README.md'
workflow_dispatch:
jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
with:
severity: warning
format: gcc

View File

@ -50,6 +50,12 @@ endif
# Tag images with date and Git short hash in addition to revision
TAG := $(shell date '+%Y%m%d')-$(shell git rev-parse --short HEAD)
# shellcheck executable
SHELLCHECK := shellcheck
# Defines the level of verification (error, warning, info...)
SHELLCHECK_SEVERITY_LEVEL := error
#
# images: This target builds all IMAGES (because it is the first one, it is built by default)
#
@ -275,6 +281,11 @@ purge: clean
# Remove all images with organization (ex dockcross/*)
$(DOCKER) images --filter=reference='$(ORG)/*' --format='{{.Repository}}:{{.Tag}}' | xargs -r $(DOCKER) rmi -f
# Check bash syntax
bash-check:
find . -type f \( -name "*.sh" -o -name "*.bash" \) -print0 | xargs -0 -P"$(shell nproc)" -I{} \
$(SHELLCHECK) --check-sourced --color=auto --format=gcc --severity=error --shell=bash --enable=all "{}"
#
# testing implicit rule
#