diff options
author | 2019-06-17 14:26:42 -0400 | |
---|---|---|
committer | 2019-06-17 19:26:42 +0100 | |
commit | ade5ea2361aabc8a0f7b0fc0340ef890aaaf33c3 (patch) | |
tree | 9e69a3917fa01eb817eede990b05f3df7d66e88c /.circleci | |
parent | c432f894b287707707407385d679872dd5b444cb (diff) | |
download | coredns-ade5ea2361aabc8a0f7b0fc0340ef890aaaf33c3.tar.gz coredns-ade5ea2361aabc8a0f7b0fc0340ef890aaaf33c3.tar.zst coredns-ade5ea2361aabc8a0f7b0fc0340ef890aaaf33c3.zip |
Add CircleCI for Integration testing (#2889)
* add circleci
* make ci work
* use existing script for setup
* add sep step for getting CI repo
Diffstat (limited to '.circleci')
-rw-r--r-- | .circleci/config.yml | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..79f6d2e47 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,69 @@ +version: 2 + +initWorkingDir: &initWorkingDir + type: shell + name: Initialize Working Directory + pwd: / + command: | + mkdir -p ~/go/src/${CIRCLE_PROJECT_USERNAME}/coredns + sudo chown -R circleci ~/go + mkdir -p ~/go/out/tests + mkdir -p ~/go/out/logs + mkdir -p /home/circleci/logs + GOROOT=$(go env GOROOT) + sudo rm -r $(go env GOROOT) + sudo mkdir $GOROOT + curl https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz | sudo tar xz -C $GOROOT --strip-components=1 + +integrationDefaults: &integrationDefaults + machine: + image: ubuntu-1604:201903-01 + working_directory: ~/go/src/${CIRCLE_PROJECT_USERNAME}/coredns + environment: + - K8S_VERSION: v1.13.3 + - KUBECONFIG: /home/circleci/.kube/config + - MINIKUBE_VERSION: v0.33.1 + - MINIKUBE_WANTUPDATENOTIFICATION: false + - MINIKUBE_WANTREPORTERRORPROMPT: false + - CHANGE_MINIKUBE_NONE_USER: true + - MINIKUBE_HOME: /home/circleci + +setupKubernetes: &setupKubernetes + - run: + name: Setup Kubernetes + command: ~/go/src/${CIRCLE_PROJECT_USERNAME}/ci/build/kubernetes/minikube_setup.sh + +buildCoreDNSImage: &buildCoreDNSImage + - run: + name: Build latest CoreDNS Docker image + command: | + cd ~/go/src/${CIRCLE_PROJECT_USERNAME}/coredns + make coredns SYSTEM="GOOS=linux" && \ + docker build -t coredns . && \ + docker tag coredns localhost:5000/coredns && \ + docker push localhost:5000/coredns + +jobs: + kubernetes-tests: + <<: *integrationDefaults + steps: + - <<: *initWorkingDir + - checkout + - run: + name: Get CI repo + command : | + mkdir -p ~/go/src/${CIRCLE_PROJECT_USERNAME}/ci + git clone https://github.com/${CIRCLE_PROJECT_USERNAME}/ci ~/go/src/${CIRCLE_PROJECT_USERNAME}/ci + - <<: *setupKubernetes + - <<: *buildCoreDNSImage + - run: + name: Run Kubernetes tests + command: | + cd ~/go/src/${CIRCLE_PROJECT_USERNAME}/ci/test/kubernetes + GO111MODULE=on go test -v ./... + +workflows: + version: 2 + integration-tests: + jobs: + - kubernetes-tests |