mirror of https://github.com/kubevela/kubevela.git
41 lines
1.3 KiB
Bash
Executable File
41 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Easy & Dumb header check for CI jobs, currently checks ".go" files only.
|
|
#
|
|
# This will be called by the CI system (with no args) to perform checking and
|
|
# fail the job if headers are not correctly set. It can also be called with the
|
|
# 'fix' argument to automatically add headers to the missing files.
|
|
#
|
|
# Check if headers are fine:
|
|
# $ ./hack/header-check.sh
|
|
# Check and fix headers:
|
|
# $ ./hack/header-check.sh fix
|
|
|
|
set -e -o pipefail
|
|
|
|
# Initialize vars
|
|
ERR=false
|
|
FAIL=false
|
|
|
|
for file in $(git ls-files | grep "\.go$" | grep -v vendor/); do
|
|
echo -n "Header check: $file... "
|
|
if [[ -z $(cat ${file} | grep "Copyright [0-9]\{4\}\(-[0-9]\{4\}\)\?.\? The KubeVela Authors") && -z $(cat ${file} | grep "Copyright [0-9]\{4\} The Crossplane Authors") ]]; then
|
|
ERR=true
|
|
fi
|
|
if [ $ERR == true ]; then
|
|
if [[ $# -gt 0 && $1 =~ [[:upper:]fix] ]]; then
|
|
cat ../boilerplate.go.txt "${file}" > "${file}".new
|
|
mv "${file}".new "${file}"
|
|
echo "$(tput -T xterm setaf 3)FIXING$(tput -T xterm sgr0)"
|
|
ERR=false
|
|
else
|
|
echo "$(tput -T xterm setaf 1)FAIL$(tput -T xterm sgr0)"
|
|
ERR=false
|
|
FAIL=true
|
|
fi
|
|
else
|
|
echo "$(tput -T xterm setaf 2)OK$(tput -T xterm sgr0)"
|
|
fi
|
|
done
|
|
|
|
# If we failed one check, return 1
|
|
[ $FAIL == true ] && exit 1 || exit 0 |