1
1
---
2
2
kind : pipeline
3
3
name : default
4
+ #
5
+ # clone:
6
+ # disable: true
7
+ #
8
+ # workspace:
9
+ # base: /workspace
10
+ # path: src/github.com/bitpoke/mysql-operator
11
+ #
12
+ # steps:
13
+ # - name: git
14
+ # pull: default
15
+ # image: plugins/git
16
+ # settings:
17
+ # depth: 0
18
+ # tags: true
19
+ #
20
+ # - name: install dependencies
21
+ # pull: always
22
+ # image: docker.io/bitpoke/build:v0.4.1
23
+ # commands:
24
+ # - make -j4 build.tools
25
+ #
26
+ # - name: verify generated code
27
+ # image: docker.io/bitpoke/build:v0.4.1
28
+ # commands:
29
+ # - make generate
30
+ # - git diff --exit-code
31
+ #
32
+ # - name: lint
33
+ # image: docker.io/bitpoke/build:v0.4.1
34
+ # commands:
35
+ # - make -j4 lint
36
+ #
37
+ # - name: test
38
+ # image: docker.io/bitpoke/build:v0.4.1
39
+ # commands:
40
+ # - make test
41
+ #
42
+ # - name: build
43
+ # image: docker.io/bitpoke/build:v0.4.1
44
+ # commands:
45
+ # - make -j4 build
46
+ #
47
+ # - name: publish
48
+ # image: docker.io/bitpoke/build:v0.4.1
49
+ # environment:
50
+ # DOCKER_REGISTRY:
51
+ # from_secret: DOCKER_REGISTRY
52
+ # DOCKER_USERNAME:
53
+ # from_secret: DOCKER_USERNAME
54
+ # DOCKER_PASSWORD:
55
+ # from_secret: DOCKER_PASSWORD
56
+ # commands:
57
+ # - /usr/local/bin/setup-credentials-helper.sh
58
+ # - make publish
59
+ # when:
60
+ # ref:
61
+ # - refs/tags/**
62
+ #
63
+ # services:
64
+ # - name: docker
65
+ # image: docker:20.10.8-dind
66
+ # privileged: true
67
+ # commands:
68
+ # - /usr/local/bin/dockerd-entrypoint.sh dockerd --host "unix:///workspace/docker.sock" --storage-driver overlay2 --log-level error
69
+ #
70
+ # trigger:
71
+ # ref:
72
+ # - refs/pull/**
73
+ # - refs/heads/master
74
+ # - refs/heads/release-*
75
+ # - refs/tags/**
76
+ # # CI related changes SHOULD be prefixed with drone-
77
+ # - refs/heads/drone-*
78
+ # ---
79
+ # kind: pipeline
80
+ # name: e2e testing
4
81
5
82
clone :
6
83
disable : true
@@ -17,35 +94,38 @@ steps:
17
94
depth : 0
18
95
tags : true
19
96
20
- - name : install dependencies
21
- pull : always
22
- image : docker.io/bitpoke/build:v0.3.0-3.g7069e76
97
+ - name : create gke cluster
98
+ image : docker.io/bitpoke/build:v0.4.1-2.gffe1bc4-amd64
99
+ environment : &e2eEnvironment
100
+ # set version in stone, as we need stable tags for e2e testing
101
+ VERSION : ${DRONE_COMMIT}
102
+ DOCKER_REGISTRY : eu.gcr.io/bitpoke-mysql-operator-testing
103
+ GOOGLE_CREDENTIALS :
104
+ from_secret : E2E_GOOGLE_CREDENTIALS
105
+ GOOGLE_CLOUD_PROJECT : bitpoke-mysql-operator-testing
106
+ GOOGLE_CLOUD_ZONE : europe-west4-b
107
+ CLUSTER_NAME : mysql-operator-e2e-testing-${DRONE_COMMIT:0:8}
108
+ BACKUP_BUCKET_NAME : bitpoke-mysql-operator-testing-backup
23
109
commands :
24
- - make -j4 build.tools
25
-
26
- - name : verify generated code
27
- image : docker.io/bitpoke/build:v0.3.0-3.g7069e76
28
- commands :
29
- - make generate
30
- - git diff --exit-code
31
-
32
- - name : lint
33
- image : docker.io/bitpoke/build:v0.3.0-3.g7069e76
34
- commands :
35
- - make -j4 lint
36
-
37
- - name : test
38
- image : docker.io/bitpoke/build:v0.3.0-3.g7069e76
39
- commands :
40
- - make test
110
+ - /usr/local/bin/setup-credentials-helper.sh
111
+ - gcloud container clusters create $CLUSTER_NAME
112
+ --zone $GOOGLE_CLOUD_ZONE
113
+ --preemptible
114
+ --cluster-version 1.19
115
+ --addons=GcePersistentDiskCsiDriver
116
+ --monitoring=NONE
41
117
42
118
- name : build
43
- image : docker.io/bitpoke/build:v0.3.0-3.g7069e76
119
+ image : docker.io/bitpoke/build:v0.4.1-2.gffe1bc4-amd64
120
+ environment :
121
+ << : *e2eEnvironment
44
122
commands :
45
123
- make -j4 build
124
+ depends_on :
125
+ - git
46
126
47
127
- name : publish
48
- image : docker.io/bitpoke/build:v0.3.0-3.g7069e76
128
+ image : docker.io/bitpoke/build:v0.4.1-2.gffe1bc4-amd64
49
129
environment :
50
130
DOCKER_REGISTRY :
51
131
from_secret : DOCKER_REGISTRY
@@ -56,10 +136,51 @@ steps:
56
136
commands :
57
137
- /usr/local/bin/setup-credentials-helper.sh
58
138
- make publish
139
+ depends_on :
140
+ - build
59
141
when :
60
142
ref :
61
- - refs/heads/master
62
- - refs/heads/release-*
143
+ - refs/tags/**
144
+
145
+ - name : publish e2e images
146
+ image : docker.io/bitpoke/build:v0.4.1-2.gffe1bc4-amd64
147
+ environment :
148
+ << : *e2eEnvironment
149
+ commands :
150
+ - /usr/local/bin/setup-credentials-helper.sh
151
+ - make publish
152
+ depends_on :
153
+ - build
154
+
155
+ - name : e2e test
156
+ image : docker.io/bitpoke/build:v0.4.1-2.gffe1bc4-amd64
157
+ environment :
158
+ << : *e2eEnvironment
159
+ GOOGLE_CLOUD_CLUSTER : mysql-operator-e2e-testing-${DRONE_COMMIT:0:8}
160
+ commands :
161
+ - /usr/local/bin/setup-credentials-helper.sh
162
+ - make e2e
163
+ depends_on :
164
+ - publish e2e images
165
+ - create gke cluster
166
+
167
+ - name : delete gke cluster
168
+ image : docker.io/bitpoke/build:v0.4.1-2.gffe1bc4-amd64
169
+ environment :
170
+ << : *e2eEnvironment
171
+ commands :
172
+ - /usr/local/bin/setup-credentials-helper.sh
173
+ - gcloud container clusters delete $CLUSTER_NAME
174
+ --quiet
175
+ --async
176
+ --zone $GOOGLE_CLOUD_ZONE
177
+ failure : ignore
178
+ depends_on :
179
+ - e2e test
180
+ when :
181
+ status :
182
+ - success
183
+ - failure
63
184
64
185
services :
65
186
- name : docker
@@ -70,10 +191,8 @@ services:
70
191
71
192
trigger :
72
193
ref :
73
- - refs/pull/**
74
194
- refs/heads/master
75
195
- refs/heads/release-*
76
- - refs/tags/**
77
196
# CI related changes SHOULD be prefixed with drone-
78
197
- refs/heads/drone-*
79
198
0 commit comments