diff --git a/Makefile b/Makefile index 32bfa401a..560dd2ff6 100644 --- a/Makefile +++ b/Makefile @@ -60,7 +60,7 @@ help: @echo " * 'version' - Print current cri plugin release version" @echo " * 'update-vendor' - Syncs containerd/vendor.conf -> vendor.conf and sorts vendor.conf" -verify: lint gofmt boiler +verify: lint gofmt boiler check-vendor version: @echo $(VERSION) @@ -77,6 +77,10 @@ boiler: @echo "checking boilerplate" @./hack/verify-boilerplate.sh +check-vendor: + @echo "detecting dirty vendor" + @./hack/verify-vendor.sh + .PHONY: sort-vendor sync-vendor update-vendor sort-vendor: @@ -172,9 +176,9 @@ else git-validation -v -run DCO,short-subject -range $(EPOCH_TEST_COMMIT)..HEAD endif -.PHONY: install.tools .install.gitvalidation .install.gometalinter +.PHONY: install.tools .install.gitvalidation .install.gometalinter .install.vndr -install.tools: .install.gitvalidation .install.gometalinter +install.tools: .install.gitvalidation .install.gometalinter .install.vndr .install.gitvalidation: $(GO) get -u github.com/vbatts/git-validation @@ -183,6 +187,9 @@ install.tools: .install.gitvalidation .install.gometalinter $(GO) get -u github.com/alecthomas/gometalinter gometalinter --install +.install.vndr: + $(GO) get -u github.com/LK4D4/vndr + .PHONY: \ binaries \ static-binaries \ @@ -205,4 +212,5 @@ install.tools: .install.gitvalidation .install.gometalinter test-e2e-node \ uninstall \ version \ - proto + proto \ + check-vendor diff --git a/hack/verify-vendor.sh b/hack/verify-vendor.sh new file mode 100755 index 000000000..1dd153cea --- /dev/null +++ b/hack/verify-vendor.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# +# Copyright The containerd Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -o errexit +set -o nounset +set -o pipefail + +tmpdir="$(mktemp -d)" +trap "rm -rf ${tmpdir}" EXIT + +git clone "https://github.com/containerd/project" "${tmpdir}" +"${tmpdir}"/script/validate/vendor +unset tmpdir