mirror of
https://github.com/coredns/coredns.git
synced 2025-11-18 18:02:16 -05:00
travis: parallize builds (#947)
* travis: parallize builds * trying out stuff * order matters
This commit is contained in:
19
.travis.yml
19
.travis.yml
@@ -7,13 +7,24 @@ services:
|
||||
|
||||
language: go
|
||||
go:
|
||||
- 1.7
|
||||
- 1.8
|
||||
- 1.7
|
||||
|
||||
go_import_path: github.com/coredns/coredns
|
||||
|
||||
git:
|
||||
depth: 3
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $GOPATH/src
|
||||
- $GOPATH/pkg
|
||||
|
||||
env:
|
||||
- ETCD_VERSION=2.3.1 K8S_VERSION=1.5.0 KUBECTL="docker exec hyperkube /hyperkube kubectl" DNS_ARGUMENTS=""
|
||||
- TEST_TYPE=coverage ETCD_VERSION=2.3.1 K8S_VERSION=1.5.0 KUBECTL="docker exec hyperkube /hyperkube kubectl"
|
||||
- TEST_TYPE=integration ETCD_VERSION=2.3.1 K8S_VERSION=1.5.0 KUBECTL="docker exec hyperkube /hyperkube kubectl"
|
||||
- TEST_TYPE=core ETCD_VERSION=2.3.1 K8S_VERSION=1.5.0 KUBECTL="docker exec hyperkube /hyperkube kubectl"
|
||||
- TEST_TYPE=middleware ETCD_VERSION=2.3.1 K8S_VERSION=1.5.0 KUBECTL="docker exec hyperkube /hyperkube kubectl"
|
||||
|
||||
# In the Travis VM-based build environment, IPv6 networking is not
|
||||
# enabled by default. The sysctl operations below enable IPv6.
|
||||
@@ -31,7 +42,7 @@ before_install:
|
||||
|
||||
before_script:
|
||||
- docker run -d --net=host --name=etcd quay.io/coreos/etcd:v$ETCD_VERSION
|
||||
- docker run -d --volume=/:/rootfs:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:rw --volume=/var/lib/kubelet/:/var/lib/kubelet:rw --volume=/var/run:/var/run:rw --volume=`pwd`/.travis:/travis --net=host --pid=host --privileged --name=hyperkube gcr.io/google_containers/hyperkube-amd64:v$K8S_VERSION /hyperkube kubelet --containerized --hostname-override=127.0.0.1 --api-servers=http://localhost:8080 --config=/etc/kubernetes/manifests $DNS_ARGUMENTS --allow-privileged --v=2
|
||||
- docker run -d --volume=/:/rootfs:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:rw --volume=/var/lib/kubelet/:/var/lib/kubelet:rw --volume=/var/run:/var/run:rw --volume=`pwd`/.travis:/travis --net=host --pid=host --privileged --name=hyperkube gcr.io/google_containers/hyperkube-amd64:v$K8S_VERSION /hyperkube kubelet --containerized --hostname-override=127.0.0.1 --api-servers=http://localhost:8080 --config=/etc/kubernetes/manifests --allow-privileged --v=2
|
||||
# Wait until kubectl is ready
|
||||
- for i in {1..10}; do $KUBECTL version && break || sleep 5; done
|
||||
- $KUBECTL version
|
||||
@@ -44,7 +55,7 @@ before_script:
|
||||
- docker ps -a
|
||||
|
||||
script:
|
||||
- make coverage
|
||||
- make TEST_TYPE=$TEST_TYPE travis
|
||||
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
|
||||
21
Makefile
21
Makefile
@@ -28,10 +28,20 @@ godeps:
|
||||
go get golang.org/x/net/context
|
||||
go get golang.org/x/text
|
||||
|
||||
.PHONY: coverage
|
||||
coverage: check
|
||||
set -e -x
|
||||
echo "" > coverage.txt
|
||||
.PHONY: travis
|
||||
travis: check
|
||||
ifeq ($(TEST_TYPE),core)
|
||||
( cd request ; go test -v -tags 'etcd k8s' -race ./... )
|
||||
( cd core ; go test -v -tags 'etcd k8s' -race ./... )
|
||||
( cd coremain go test -v -tags 'etcd k8s' -race ./... )
|
||||
endif
|
||||
ifeq ($(TEST_TYPE),integration)
|
||||
( cd test ; go test -v -tags 'etcd k8s' -race ./... )
|
||||
endif
|
||||
ifeq ($(TEST_TYPE),middleware)
|
||||
( cd middleware ; go test -v -tags 'etcd k8s' -race ./... )
|
||||
endif
|
||||
ifeq ($(TEST_TYPE),coverage)
|
||||
for d in `go list ./... | grep -v vendor`; do \
|
||||
go test -v -tags 'etcd k8s' -race -coverprofile=cover.out -covermode=atomic -bench=. $$d || exit 1; \
|
||||
if [ -f cover.out ]; then \
|
||||
@@ -39,6 +49,8 @@ coverage: check
|
||||
rm cover.out; \
|
||||
fi; \
|
||||
done
|
||||
endif
|
||||
|
||||
|
||||
core/zmiddleware.go core/dnsserver/zdirectives.go: middleware.cfg
|
||||
go generate coredns.go
|
||||
@@ -55,7 +67,6 @@ fmt:
|
||||
|
||||
.PHONY: lint
|
||||
lint:
|
||||
## run go lint, suggestion only (not enforced)
|
||||
go get -u github.com/golang/lint/golint
|
||||
@test -z "$$(find . -type d | grep -vE '(/vendor|^\.$$|/.git|/.travis)' | grep -vE '(^\./pb)' | xargs golint \
|
||||
| grep -vE "context\.Context should be the first parameter of a function" | tee /dev/stderr)"
|
||||
|
||||
Reference in New Issue
Block a user