@@ -42,10 +42,51 @@ commands:
4242 command : |
4343 curl -u $SITE_TEST_BAUTH <<parameters.site_url>>
4444
45+ # Variables
46+
47+ filter_feature_only : &filter_feature_only
48+ branches :
49+ ignore :
50+ - production
51+ - master
52+ - &test_cluster /feature\/test-cluster(\/.*)?/
53+ - &aws_cluster /feature\/aws-cluster(\/.*)?/
54+ - &aks_cluster /feature\/aks-cluster(\/.*)?/
55+
56+ filter_test_cluster_only : &filter_test_cluster_only
57+ branches :
58+ only :
59+ - *test_cluster
60+
61+ filter_aws_cluster_only : &filter_aws_cluster_only
62+ branches :
63+ only :
64+ - *aws_cluster
65+
66+ filter_aks_cluster_only : &filter_aks_cluster_only
67+ branches :
68+ only :
69+ - *aks_cluster
70+
71+ filter_master_only : &filter_master_only
72+ branches :
73+ only :
74+ - master
75+
76+ filter_production_only : &filter_production_only
77+ branches :
78+ only :
79+ - production
80+
4581workflows :
4682 version : 2
4783 commit :
4884 jobs :
85+ - approval :
86+ type : approval
87+ name : approve-deployment
88+ filters : *filter_feature_only
89+
4990 - silta/drupal-validate : &drupal-validate
5091 name : validate
5192
@@ -75,13 +116,9 @@ workflows:
75116 - silta/drupal-composer-install
76117 - silta/npm-install-build
77118 context : silta_dev
78- filters :
79- branches :
80- ignore :
81- - production
82- - /feature\/test-cluster(\/.*)?/
83- - /feature\/aws-cluster(\/.*)?/
84- - /feature\/aks-cluster(\/.*)?/
119+ requires :
120+ - approve-deployment
121+ filters : *filter_feature_only
85122
86123 # Deploy job for feature environments.
87124 # Other jobs defined below extend this job.
@@ -109,25 +146,16 @@ workflows:
109146 context : silta_dev
110147 requires :
111148 - build
112- filters :
113- branches :
114- ignore :
115- - production
116- - master
117- - /feature\/test-cluster(\/.*)?/
118- - /feature\/aws-cluster(\/.*)?/
119- - /feature\/aks-cluster(\/.*)?/
149+ filters : *filter_feature_only
120150
121151 # Build job for test cluster.
122152 # Extends the job defined for feature environments.
123153 - silta/drupal-build :
124154 << : *build
125155 name : build-test
126156 context : silta_test
127- filters :
128- branches :
129- only :
130- - /feature\/test-cluster(\/.*)?/
157+ requires : [ ]
158+ filters : *filter_test_cluster_only
131159
132160 # Deploy job for test cluster.
133161 # Extends the job defined for feature environments.
@@ -138,32 +166,32 @@ workflows:
138166 context : silta_test
139167 requires :
140168 - build-test
141- filters :
142- branches :
143- only :
144- - /feature\/test-cluster(\/.*)?/
169+ filters : *filter_test_cluster_only
170+
171+ # Build job for master environment.
172+ # Extends the job defined for feature environments.
173+ - silta/drupal-build : &build-master
174+ << : *build
175+ name : build-master
176+ requires : [ ]
177+ filters : *filter_master_only
145178
146179 # Deploy job for master environment.
147180 # Extends the job defined for feature environments.
148181 - silta/drupal-deploy : &deploy-master
149182 << : *deploy
150183 name : deploy-master
151184 silta_config : silta/silta.yml,silta/silta-master.yml
152- filters :
153- branches :
154- only :
155- - master
185+ requires :
186+ - build-master
187+ filters : *filter_master_only
156188
157189 # Build job for master environment in AKS cluster.
158- # Extends the job defined for feature environments.
190+ # Extends the job defined for master environments.
159191 - silta/drupal-build : &build-master-aks
160- << : *build
192+ << : *build-master
161193 name : build-aks-master
162194 context : silta_aks
163- filters :
164- branches :
165- only :
166- - master
167195
168196 # Deploy job for master environment in AKS cluster.
169197 # Extends the job defined for master environments.
@@ -176,15 +204,12 @@ workflows:
176204 - build-aks-master
177205
178206 # Build job for AKS cluster.
179- # Extends the job defined for feature environments.
207+ # Extends the job defined for master environments.
180208 - silta/drupal-build :
181- << : *build
209+ << : *build-master
182210 name : build-aks
183211 context : silta_aks
184- filters :
185- branches :
186- only :
187- - /feature\/aks-cluster(\/.*)?/
212+ filters : *filter_aks_cluster_only
188213
189214 # Deploy job for AKS cluster.
190215 # Extends the job defined for feature environments.
@@ -195,21 +220,15 @@ workflows:
195220 context : silta_aks
196221 requires :
197222 - build-aks
198- filters :
199- branches :
200- only :
201- - /feature\/aks-cluster(\/.*)?/
223+ filters : *filter_aks_cluster_only
202224
203225 # Build job for AWS cluster.
204- # Extends the job defined for feature environments.
226+ # Extends the job defined for master environments.
205227 - silta/drupal-build :
206- << : *build
228+ << : *build-master
207229 name : build-aws
208230 context : silta_aws
209- filters :
210- branches :
211- only :
212- - /feature\/aws-cluster(\/.*)?/
231+ filters : *filter_aws_cluster_only
213232
214233 # Deploy job for AWS cluster.
215234 # Extends the job defined for feature environments.
@@ -220,20 +239,15 @@ workflows:
220239 context : silta_aws
221240 requires :
222241 - build-aws
223- filters :
224- branches :
225- only :
226- - /feature\/aws-cluster(\/.*)?/
242+ filters : *filter_aws_cluster_only
227243
228244 # Build job for production environment.
229- # Extends the job defined for feature environments.
245+ # Extends the job defined for master environments.
230246 - silta/drupal-build :
231- << : *build
247+ << : *build-master
232248 name : build-deploy-prod
233249 context : silta_finland
234- filters :
235- branches :
236- only : production
250+ filters : *filter_production_only
237251
238252 # Deploy job for production environment.
239253 # Extends the job defined for feature environments.
@@ -245,36 +259,28 @@ workflows:
245259 context : silta_finland
246260 requires :
247261 - build-deploy-prod
248- filters :
249- branches :
250- only : production
262+ filters : *filter_production_only
251263
252264 # Test site availability by requesting _ping.php.
253265 - site-test : &site-test
254266 name : " Site test"
255267 requires :
256268 - " deploy-master"
257269 - " Deploy master to AKS cluster"
258- filters :
259- branches :
260- only :
261- - master
270+ filters : *filter_master_only
262271
263272 # Weekly build and deploy master and master-aks environments.
264273 weekly-build :
265274 triggers :
266275 - schedule :
267276 cron : " 0 8 * * 5"
268- filters :
269- branches :
270- only :
271- - master
277+ filters : *filter_master_only
272278 jobs :
273279 - silta/drupal-validate :
274280 << : *drupal-validate
275281
276282 - silta/drupal-build :
277- << : *build
283+ << : *build-master
278284
279285 - silta/drupal-deploy :
280286 << : *deploy-master
0 commit comments