Presubmit (#1719)
* build: add presubmits We didn't have a way to encode presubmit; with this hack we can just run a bunch of script on the build; this allows us to automatically capture things like using the wrong context and maybe other fluff. This allows us to cut down on code reviews and just have the build fail. * hook it up * put presubmit in checks; so we do it for tests as well * Add explicit exit 1 if things fails
This commit is contained in:
parent
582f91f3f3
commit
c9b5cedbe9
2 changed files with 15 additions and 1 deletions
8
.presubmit/context
Executable file
8
.presubmit/context
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
echo "** presubmit/$(basename $0)"
|
||||
|
||||
if grep -lr "golang.org/x/net/context" "$@"; then
|
||||
echo "** presubmit/$(basename $0): please use std lib's 'context' instead"
|
||||
exit 1
|
||||
fi
|
8
Makefile
8
Makefile
|
@ -5,6 +5,7 @@ SYSTEM:=
|
|||
CHECKS:=check godeps
|
||||
VERBOSE:=-v
|
||||
GOPATH?=$(HOME)/go
|
||||
PRESUBMIT:=core coremain plugin
|
||||
|
||||
all: coredns
|
||||
|
||||
|
@ -13,7 +14,7 @@ coredns: $(CHECKS)
|
|||
CGO_ENABLED=0 $(SYSTEM) go build $(VERBOSE) -ldflags="-s -w -X github.com/coredns/coredns/coremain.GitCommit=$(GITCOMMIT)" -o $(BINARY)
|
||||
|
||||
.PHONY: check
|
||||
check: linter goimports core/zplugin.go core/dnsserver/zdirectives.go godeps
|
||||
check: presubmit linter goimports core/zplugin.go core/dnsserver/zdirectives.go godeps
|
||||
|
||||
.PHONY: test
|
||||
test: check
|
||||
|
@ -87,6 +88,11 @@ linter:
|
|||
goimports:
|
||||
( gometalinter --deadline=2m --disable-all --enable=goimports --vendor --exclude=^pb/ ./... || true )
|
||||
|
||||
# Presubmit runs all scripts in .presubmit; any non 0 exit code will fail the build.
|
||||
.PHONY: presubmit
|
||||
presubmit:
|
||||
@for pre in $(PWD)/.presubmit/* ; do "$$pre" $(PRESUBMIT); done
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
go clean
|
||||
|
|
Loading…
Add table
Reference in a new issue