diff options
-rw-r--r-- | .travis.yml | 7 | ||||
-rw-r--r-- | Makefile | 29 |
2 files changed, 25 insertions, 11 deletions
diff --git a/.travis.yml b/.travis.yml index 39ea9e160..ef914d237 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ sudo: required -# Trusty distribution is much faster when sudo is required dist: trusty services: @@ -14,11 +13,16 @@ go_import_path: github.com/coredns/coredns git: depth: 3 +branches: + only: + - master + env: - TEST_TYPE=coverage ETCD_VERSION=3.3.8 - TEST_TYPE=integration ETCD_VERSION=3.3.8 - TEST_TYPE=core ETCD_VERSION=3.3.8 - TEST_TYPE=plugin ETCD_VERSION=3.3.8 + - TEST_TYPE=benchmark ETCD_VERSION=3.3.8 # In the Travis VM-based build environment, IPv6 networking is not # enabled by default. The sysctl operations below enable IPv6. @@ -35,6 +39,7 @@ before_install: before_script: - docker run -d --net=host --name=etcd quay.io/coreos/etcd:v$ETCD_VERSION + - make godeps script: - make TEST_TYPE=$TEST_TYPE travis @@ -17,14 +17,6 @@ coredns: $(CHECKS) .PHONY: check check: presubmit core/zplugin.go core/dnsserver/zdirectives.go godeps -.PHONY: test -test: check - go test -race $(VERBOSE) ./test ./plugin/... - -.PHONY: testk8s -testk8s: check - go test -race $(VERBOSE) -tags=k8s -run 'TestKubernetes' ./test ./plugin/kubernetes/... - .PHONY: godeps godeps: @ # Not vendoring these, so external plugins compile, avoiding: @@ -40,13 +32,15 @@ godeps: (cd $(GOPATH)/src/github.com/mholt/caddy && git checkout -q v0.10.11) (cd $(GOPATH)/src/github.com/miekg/dns && git checkout -q v1.0.8) (cd $(GOPATH)/src/github.com/prometheus/client_golang && git checkout -q v0.8.0) + @ # for travis only, if this fails we don't care, but don't see benchmarks + go get -u golang.org/x/tools/cmd/benchcmp || true .PHONY: travis -travis: check +travis: ifeq ($(TEST_TYPE),core) ( cd request ; go test -v -tags 'etcd' -race ./... ) ( cd core ; go test -v -tags 'etcd' -race ./... ) - ( cd coremain go test -v -tags 'etcd' -race ./... ) + ( cd coremain ; go test -v -tags 'etcd' -race ./... ) endif ifeq ($(TEST_TYPE),integration) ( cd test ; go test -v -tags 'etcd' -race ./... ) @@ -66,6 +60,21 @@ ifeq ($(TEST_TYPE),coverage) fi; \ done endif +ifeq ($(TEST_TYPE),benchmark) + > new + ( cd plugin; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new + ( cd request; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new + ( cd core; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new + ( cd coremain; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> new + git checkout master + > old + ( cd plugin; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old + ( cd request; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old + ( cd core; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old + ( cd coremain; go test -run=NONE -bench=. -benchmem=true -tags 'etcd' ./... ) >> old + if command -v benchcmp; then benchcmp old new ; fi + git checkout - +endif core/zplugin.go core/dnsserver/zdirectives.go: plugin.cfg go generate coredns.go |