diff --git a/.cirrus.yml b/.cirrus.yml index d5498eb5bf414ffca1cc86bdcd15c131dd9796ef..fcca28ba6ed2fd8d2b8fa3485e4f4cb6a1b2afbf 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -61,6 +61,8 @@ validate_task: validate_script: - make validate + - make vendor + - ./hack/tree_status.sh - make test_task: diff --git a/Makefile b/Makefile index 31f8370561885f5daca6e2272ce8aba82e8a9860..4d1cf4ce81ad1a0375a490dbecac1f3cc638496a 100644 --- a/Makefile +++ b/Makefile @@ -76,9 +76,16 @@ clean: test: .install.ginkgo $(GO) test -v ./... +vendor: + export GO111MODULE=on \ + $(GO) mod tidy && \ + $(GO) mod vendor && \ + $(GO) mod verify + .PHONY: \ binaries \ test \ gofmt \ lint \ - validate + validate \ + vendor diff --git a/hack/tree_status.sh b/hack/tree_status.sh new file mode 100755 index 0000000000000000000000000000000000000000..ac874a3478fda0a6f8586391c1cbef14837c1baf --- /dev/null +++ b/hack/tree_status.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -e + +SUGGESTION="${SUGGESTION:-sync the vendor.conf and commit all changes.}" + +STATUS=$(git status --porcelain) +if [[ -z $STATUS ]] +then + echo "tree is clean" +else + echo "tree is dirty, please $SUGGESTION" + echo "" + echo "$STATUS" + exit 1 +fi