|
@@ -5,16 +5,16 @@
|
|
|
|
|
|
|
|
set -euo pipefail
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
-ELVIS_VERSION='1.0.0-emqx-2'
|
|
|
|
|
|
|
+elvis_version='1.0.0-emqx-2'
|
|
|
|
|
|
|
|
base="${1:-}"
|
|
base="${1:-}"
|
|
|
|
|
+repo="${2:-emqx/emqx}"
|
|
|
|
|
+REPO="${GITHUB_REPOSITORY:-${repo}}"
|
|
|
if [ "${base}" = "" ]; then
|
|
if [ "${base}" = "" ]; then
|
|
|
echo "Usage $0 <git-compare-base-ref>"
|
|
echo "Usage $0 <git-compare-base-ref>"
|
|
|
exit 1
|
|
exit 1
|
|
|
fi
|
|
fi
|
|
|
|
|
|
|
|
-elvis_version="${2:-$ELVIS_VERSION}"
|
|
|
|
|
-
|
|
|
|
|
echo "elvis -v: $elvis_version"
|
|
echo "elvis -v: $elvis_version"
|
|
|
echo "git diff base: $base"
|
|
echo "git diff base: $base"
|
|
|
|
|
|
|
@@ -27,11 +27,7 @@ if [[ "$base" =~ [0-9a-f]{8,40} ]]; then
|
|
|
# base is a commit sha1
|
|
# base is a commit sha1
|
|
|
compare_base="$base"
|
|
compare_base="$base"
|
|
|
else
|
|
else
|
|
|
- if [[ $CI == true ]];then
|
|
|
|
|
- remote="$(git remote -v | grep -E "github\.com(.|/)$GITHUB_REPOSITORY" | grep fetch | awk '{print $1}')"
|
|
|
|
|
- else
|
|
|
|
|
- remote="$(git remote -v | grep -E 'github\.com(.|/)emqx' | grep fetch | awk '{print $1}')"
|
|
|
|
|
- fi
|
|
|
|
|
|
|
+ remote="$(git remote -v | grep -E "github\.com(:|/)$REPO((\.git)|(\s))" | grep fetch | awk '{print $1}')"
|
|
|
git fetch "$remote" "$base"
|
|
git fetch "$remote" "$base"
|
|
|
compare_base="$remote/$base"
|
|
compare_base="$remote/$base"
|
|
|
fi
|
|
fi
|
|
@@ -58,3 +54,31 @@ if [ $bad_file_count -gt 0 ]; then
|
|
|
echo "elvis: $bad_file_count errors"
|
|
echo "elvis: $bad_file_count errors"
|
|
|
exit 1
|
|
exit 1
|
|
|
fi
|
|
fi
|
|
|
|
|
+
|
|
|
|
|
+### now check new-line at EOF for changed files
|
|
|
|
|
+
|
|
|
|
|
+nl_at_eof() {
|
|
|
|
|
+ local file="$1"
|
|
|
|
|
+ if ! [ -f "$file" ]; then
|
|
|
|
|
+ return
|
|
|
|
|
+ fi
|
|
|
|
|
+ case "$file" in
|
|
|
|
|
+ *.png|*rebar3)
|
|
|
|
|
+ return
|
|
|
|
|
+ ;;
|
|
|
|
|
+ esac
|
|
|
|
|
+ local lastbyte
|
|
|
|
|
+ lastbyte="$(tail -c 1 "$file" 2>&1)"
|
|
|
|
|
+ if [ "$lastbyte" != '' ]; then
|
|
|
|
|
+ echo "$file"
|
|
|
|
|
+ return 1
|
|
|
|
|
+ fi
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+for file in $(git_diff); do
|
|
|
|
|
+ if ! nl_at_eof "$file"; then
|
|
|
|
|
+ bad_file_count=$(( bad_file_count + 1 ))
|
|
|
|
|
+ fi
|
|
|
|
|
+done
|
|
|
|
|
+
|
|
|
|
|
+exit $bad_file_count
|