mirror of
https://github.com/coredns/coredns.git
synced 2025-11-02 10:13:14 -05:00
Yes, the previous Go version is important but this doubles the wait on travis. This drops 1.7 from travis. This means we wait for bug reports to show up, or tell people to use the precompiled binaries are docker containers.
56 lines
2.5 KiB
YAML
56 lines
2.5 KiB
YAML
sudo: required
|
|
# Trusty distribution is much faster when sudo is required
|
|
dist: trusty
|
|
|
|
services:
|
|
- docker
|
|
|
|
language: go
|
|
go:
|
|
- 1.8
|
|
|
|
go_import_path: github.com/coredns/coredns
|
|
|
|
git:
|
|
depth: 3
|
|
|
|
env:
|
|
- 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.
|
|
# IPv6 is needed by some of the CoreDNS test cases. The VM environment
|
|
# is needed to have access to sudo in the test environment. Sudo is
|
|
# needed to have docker in the test environment. Docker is needed to
|
|
# launch a kubernetes instance in the test environment.
|
|
# (Dependencies are fun! :) )
|
|
before_install:
|
|
- cat /proc/net/if_inet6
|
|
- uname -a
|
|
- sudo bash -c 'if [ `cat /proc/net/if_inet6 | wc -l` = "0" ]; then echo "Enabling IPv6" ; sysctl net.ipv6.conf.all.disable_ipv6=0 ; sysctl net.ipv6.conf.default.disable_ipv6=0 ; sysctl net.ipv6.conf.lo.disable_ipv6=0 ; fi'
|
|
- cat /proc/net/if_inet6
|
|
- env
|
|
|
|
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 --allow-privileged --v=2
|
|
# Wait until kubectl is ready
|
|
- for i in {1..10}; do $KUBECTL version && break || sleep 5; done
|
|
- $KUBECTL version
|
|
- $KUBECTL config set-cluster test-doc --server=http://localhost:8080
|
|
- $KUBECTL config set-context test-doc --cluster=test-doc
|
|
- $KUBECTL config use-context test-doc
|
|
# Wait until k8s is ready
|
|
- for i in {1..30}; do $KUBECTL get nodes && break || sleep 5; done
|
|
- $KUBECTL create -f /travis/kubernetes/dns-test.yaml
|
|
- docker ps -a
|
|
|
|
script:
|
|
- make TEST_TYPE=$TEST_TYPE travis
|
|
|
|
after_success:
|
|
- bash <(curl -s https://codecov.io/bash)
|