mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-10-01 01:36:09 -04:00
46 lines
1.0 KiB
Bash
46 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
lib=$(realpath @@BASE_LIB@@) || exit 1
|
|
shfmt=$(realpath @@SHFMT@@) || exit 1
|
|
shellcheck=$(realpath @@SHELLCHECK@@) || exit 1
|
|
|
|
# shellcheck source=../sh/lib.bash
|
|
if ! source "${lib}"; then
|
|
echo "Error: could not find import"
|
|
exit 1
|
|
fi
|
|
|
|
cd "${BUILD_WORKSPACE_DIRECTORY}" || exit 1
|
|
|
|
scriptsStr=$(${shfmt} -f "${BUILD_WORKSPACE_DIRECTORY}")
|
|
readarray -t <<< "${scriptsStr}"
|
|
scripts=("${MAPFILE[@]}")
|
|
|
|
excludeDirs=(
|
|
"cli/internal/helm/charts/cilium"
|
|
"build"
|
|
"docs/node_modules"
|
|
)
|
|
|
|
echo "The following scripts are excluded and won't be linted with shellcheck:"
|
|
for exclude in "${excludeDirs[@]}"; do
|
|
for i in "${!scripts[@]}"; do
|
|
if [[ ${scripts[i]} == "${BUILD_WORKSPACE_DIRECTORY}/${exclude}"* ]]; then
|
|
echo " ${scripts[i]}"
|
|
unset 'scripts[i]'
|
|
fi
|
|
done
|
|
done
|
|
|
|
echo "Linting the following scripts with shellcheck:"
|
|
for script in "${scripts[@]}"; do
|
|
echo " ${script}"
|
|
done
|
|
|
|
statuscode=0
|
|
for file in "${scripts[@]}"; do
|
|
${shellcheck} --severity=info "${file}" || statuscode=$?
|
|
done
|
|
|
|
exit "${statuscode}"
|