mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-27 00:19:36 -05:00
45 lines
1.0 KiB
Bash
45 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"
|
||
|
)
|
||
|
|
||
|
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}"
|