11---
22kind : pipeline
33name : 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
481
582clone :
683 disable : true
@@ -17,35 +94,38 @@ steps:
1794 depth : 0
1895 tags : true
1996
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
23109 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
41117
42118- 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
44122 commands :
45123 - make -j4 build
124+ depends_on :
125+ - git
46126
47127- 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
49129 environment :
50130 DOCKER_REGISTRY :
51131 from_secret : DOCKER_REGISTRY
@@ -56,10 +136,51 @@ steps:
56136 commands :
57137 - /usr/local/bin/setup-credentials-helper.sh
58138 - make publish
139+ depends_on :
140+ - build
59141 when :
60142 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
63184
64185services :
65186- name : docker
@@ -70,10 +191,8 @@ services:
70191
71192trigger :
72193 ref :
73- - refs/pull/**
74194 - refs/heads/master
75195 - refs/heads/release-*
76- - refs/tags/**
77196 # CI related changes SHOULD be prefixed with drone-
78197 - refs/heads/drone-*
79198
0 commit comments