add gofmt verify in CI
Signed-off-by: Crazykev <crazykev@zju.edu.cn>
This commit is contained in:
parent
1d08519ffe
commit
3fa48e54ff
3 changed files with 27 additions and 0 deletions
|
@ -17,6 +17,7 @@ before_script:
|
|||
|
||||
script:
|
||||
- make .gitvalidation
|
||||
- make gofmt
|
||||
- make lint
|
||||
- make integration
|
||||
- make docs
|
||||
|
|
5
Makefile
5
Makefile
|
@ -30,6 +30,7 @@ help:
|
|||
@echo " * 'integration' - Execute integration tests"
|
||||
@echo " * 'clean' - Clean artifacts"
|
||||
@echo " * 'lint' - Execute the source code linter"
|
||||
@echo " * 'gofmt' - Verify the source code gofmt"
|
||||
|
||||
lint: ${OCID_LINK}
|
||||
@which gometalinter > /dev/null 2>/dev/null || (echo "ERROR: gometalinter not found. Consider 'make install.tools' target" && false)
|
||||
|
@ -40,6 +41,9 @@ ${OCID_LINK}:
|
|||
mkdir -p ${OCID_LINK_DIR}
|
||||
ln -sfn ${CURDIR} ${OCID_LINK}
|
||||
|
||||
gofmt:
|
||||
@./hack/verify-gofmt.sh
|
||||
|
||||
conmon:
|
||||
make -C $@
|
||||
|
||||
|
@ -164,6 +168,7 @@ install.tools: .install.gitvalidation .install.gometalinter .install.md2man
|
|||
conmon \
|
||||
default \
|
||||
docs \
|
||||
gofmt \
|
||||
help \
|
||||
install \
|
||||
lint \
|
||||
|
|
21
hack/verify-gofmt.sh
Executable file
21
hack/verify-gofmt.sh
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
find_files() {
|
||||
find . -not \( \
|
||||
\( \
|
||||
-wholename '*/vendor/*' \
|
||||
\) -prune \
|
||||
\) -name '*.go'
|
||||
}
|
||||
|
||||
GOFMT="gofmt -s"
|
||||
bad_files=$(find_files | xargs $GOFMT -l)
|
||||
if [[ -n "${bad_files}" ]]; then
|
||||
echo "!!! '$GOFMT' needs to be run on the following files: "
|
||||
echo "${bad_files}"
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in a new issue