mirror of
https://github.com/coredns/coredns.git
synced 2025-10-26 15:54:16 -04:00
* Update Go to latest patch release. * Fixup go test to use `.go-version`. * Bump K8s / KIND in integration tests. * Update golangci-lint. Signed-off-by: SuperQ <superq@gmail.com>
67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
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
|
|
LATEST=$(curl -s https://go.dev/VERSION?m=text | grep -v time)
|
|
curl https://dl.google.com/go/${LATEST}.linux-amd64.tar.gz | sudo tar xz -C $GOROOT --strip-components=1
|
|
|
|
integrationDefaults: &integrationDefaults
|
|
machine:
|
|
image: default
|
|
working_directory: ~/go/src/${CIRCLE_PROJECT_USERNAME}/coredns
|
|
environment:
|
|
- K8S_VERSION: v1.29.4
|
|
- KIND_VERSION: v0.25.0
|
|
- KUBECONFIG: /home/circleci/.kube/kind-config-kind
|
|
|
|
setupKubernetes: &setupKubernetes
|
|
- run:
|
|
name: Setup Kubernetes
|
|
command: ~/go/src/${CIRCLE_PROJECT_USERNAME}/ci/build/kubernetes/k8s_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_BUILDKIT=1 docker build -t coredns . && \
|
|
kind load docker-image 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
|
|
go mod tidy
|
|
go test -v ./...
|
|
|
|
workflows:
|
|
version: 2
|
|
integration-tests:
|
|
jobs:
|
|
- kubernetes-tests
|