mirror of
https://github.com/coredns/coredns.git
synced 2025-11-19 02:12:30 -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
|
language: go
|
||||||
go:
|
go:
|
||||||
- 1.7
|
|
||||||
- 1.8
|
- 1.8
|
||||||
|
- 1.7
|
||||||
|
|
||||||
go_import_path: github.com/coredns/coredns
|
go_import_path: github.com/coredns/coredns
|
||||||
|
|
||||||
|
git:
|
||||||
|
depth: 3
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- $GOPATH/src
|
||||||
|
- $GOPATH/pkg
|
||||||
|
|
||||||
env:
|
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
|
# In the Travis VM-based build environment, IPv6 networking is not
|
||||||
# enabled by default. The sysctl operations below enable IPv6.
|
# enabled by default. The sysctl operations below enable IPv6.
|
||||||
@@ -31,7 +42,7 @@ before_install:
|
|||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker run -d --net=host --name=etcd quay.io/coreos/etcd:v$ETCD_VERSION
|
- 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
|
# Wait until kubectl is ready
|
||||||
- for i in {1..10}; do $KUBECTL version && break || sleep 5; done
|
- for i in {1..10}; do $KUBECTL version && break || sleep 5; done
|
||||||
- $KUBECTL version
|
- $KUBECTL version
|
||||||
@@ -44,7 +55,7 @@ before_script:
|
|||||||
- docker ps -a
|
- docker ps -a
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- make coverage
|
- make TEST_TYPE=$TEST_TYPE travis
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
- bash <(curl -s https://codecov.io/bash)
|
- 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/net/context
|
||||||
go get golang.org/x/text
|
go get golang.org/x/text
|
||||||
|
|
||||||
.PHONY: coverage
|
.PHONY: travis
|
||||||
coverage: check
|
travis: check
|
||||||
set -e -x
|
ifeq ($(TEST_TYPE),core)
|
||||||
echo "" > coverage.txt
|
( 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 \
|
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; \
|
go test -v -tags 'etcd k8s' -race -coverprofile=cover.out -covermode=atomic -bench=. $$d || exit 1; \
|
||||||
if [ -f cover.out ]; then \
|
if [ -f cover.out ]; then \
|
||||||
@@ -39,6 +49,8 @@ coverage: check
|
|||||||
rm cover.out; \
|
rm cover.out; \
|
||||||
fi; \
|
fi; \
|
||||||
done
|
done
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
core/zmiddleware.go core/dnsserver/zdirectives.go: middleware.cfg
|
core/zmiddleware.go core/dnsserver/zdirectives.go: middleware.cfg
|
||||||
go generate coredns.go
|
go generate coredns.go
|
||||||
@@ -55,7 +67,6 @@ fmt:
|
|||||||
|
|
||||||
.PHONY: lint
|
.PHONY: lint
|
||||||
lint:
|
lint:
|
||||||
## run go lint, suggestion only (not enforced)
|
|
||||||
go get -u github.com/golang/lint/golint
|
go get -u github.com/golang/lint/golint
|
||||||
@test -z "$$(find . -type d | grep -vE '(/vendor|^\.$$|/.git|/.travis)' | grep -vE '(^\./pb)' | xargs 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)"
|
| grep -vE "context\.Context should be the first parameter of a function" | tee /dev/stderr)"
|
||||||
|
|||||||
Reference in New Issue
Block a user