forked from haproxytech/kubernetes-ingress
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
74 lines (73 loc) · 1.96 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
stages:
- lint
- test
- kind
variables:
KUBECTL: v1.19.3
KIND: v0.9.0
DOCKER_HOST: tcp://docker:2375
DOCKER_DRIVER: overlay2
golangci_lint:
stage: lint
image:
name: golangci/golangci-lint:v1.24.0
entrypoint: [""]
tags:
- go
script:
- golangci-lint run --timeout=2m -v
lint-commit-msg:
stage: lint
image:
name: haproxytech/check-commit:latest
entrypoint: [""]
tags:
- go
script:
- go run /check.go
test:
stage: test
image:
name: golang:1.15
entrypoint: [""]
tags:
- go
script:
- go build -v .
- go test -v ./...
.kind_deployment:
image: docker:stable
services:
- name: docker:18.09.7-dind
alias: docker
tags:
- go
stage: kind
script:
- apk add -U wget git go curl
- wget -q -o /dev/null -O &> /dev/null /usr/local/bin/kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND}/kind-linux-amd64
- chmod +x /usr/local/bin/kind
- wget -q -o /dev/null -O &> /dev/null /usr/local/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBECTL}/bin/linux/amd64/kubectl
- chmod +x /usr/local/bin/kubectl
- sed -i "s/K8S_VERSION/$K8S_VERSION/g" ".gitlab/kind-config.yaml"
- kind create cluster --name=dev --config=./.gitlab/kind-config.yaml
- sed -i -E -e "s/localhost|0\.0\.0\.0|127\.0\.0\.1/docker/g" "$HOME/.kube/config"
- sed -i -E -e "s/localhost|0\.0\.0\.0|127\.0\.0\.1/docker/g" "deploy/kind/ci.sh"
- sed -i -E -e "s/localhost|0\.0\.0\.0|127\.0\.0\.1/docker/g" "deploy/kind/tests/client/client.go"
- until kubectl get nodes -o wide;do sleep 2; done
- CI_ENV=gitlab deploy/kind/create.sh
- KIND_URL=docker go test -v ./... --tags=integration
after_script:
- kind delete cluster --name=dev
k8s_16:
variables:
K8S_VERSION: v1.16.9
extends: .kind_deployment
k8s_17:
variables:
K8S_VERSION: v1.17.5
extends: .kind_deployment
k8s_18:
variables:
K8S_VERSION: v1.18.6
extends: .kind_deployment