Skip to content

Instantly share code, notes, and snippets.

@GivenZeng
Created February 12, 2020 12:00
Show Gist options
  • Save GivenZeng/e7214f2fe0f5e0633ba23d7491de5ac6 to your computer and use it in GitHub Desktop.
Save GivenZeng/e7214f2fe0f5e0633ba23d7491de5ac6 to your computer and use it in GitHub Desktop.
ci
#!/bin/sh
if git rev-parse --verify HEAD >/dev/null 2>&1
then
against=HEAD
else
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
allownonascii=$(git config --bool hooks.allownonascii)
exec 1>&2
if [ "$allownonascii" != "true" ] &&
test $(git diff --cached --name-only --diff-filter=A -z $against |
LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
then
cat <<\EOF
Error: Attempt to add a non-ASCII file name.
This can cause problems if you want to work with people on other platforms.
To be portable it is advisable to rename the file.
If you know what you are doing you can disable this check using:
git config hooks.allownonascii true
EOF
exit 1
fi
HandleError(){
echo "$1"
echo "\n-------------------------------------\n$2"
exit 1
}
## gofmt格式化代码
output=`find . -regex '.*\.go' |grep -v vendor | grep -v thrift_gen | xargs gofmt -d -s`
if [ ! -z "$output" ]
then
HandleError "$output" "please run the fowllowing command to fix it: find . -regex '.*\.go' |grep -v vendor | grep -v thrift_gen | xargs gofmt -w -s"
fi
## goimports格式化import
output=`find . -regex '.*\.go' |grep -v vendor | grep -v thrift_gen | xargs goimports -d`
if [ ! -z "$output" ]
then
HandleError "$output" "please run the fowllowing command to fix it: find . -regex '.*\.go' |grep -v vendor | grep -v thrift_gen | xargs goimports -w"
exit 1
fi
# go vet 静态代码检查
output=`find . -regex '.*\.go' |grep -v vendor | grep -v thrift_gen | xargs go tool vet`
if [ $? != "0" ]
then
HandleError "$output" "please fix it brefore commit"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment