dfb65e567f9391c5dbb9081b929d30d665b2a5fd
[releng.git] / jjb / airship / cntt.yaml
1 ---
2 - cntt-jobs: &cntt-jobs
3     name: 'cntt-jobs'
4     current-parameters: true
5
6 - cntt-params: &cntt-params
7     name: 'cntt-params'
8     repo: 'opnfv'
9     port:
10     tag:
11       - latest:
12           branch: master
13           slave: intel-pod10
14           functest_tag: hunter
15
16 - parameter:
17     name: cntt-slave
18     parameters:
19       - label:
20           name: slave
21           default: '{slave}'
22
23 - parameter:
24     name: cntt-build_tag
25     parameters:
26       - random-string:
27           name: build_tag
28
29 - parameter:
30     name: cntt-DEBUG
31     parameters:
32       - string:
33           name: DEBUG
34           default: 'true'
35
36 - parameter:
37     name: cntt-EXTERNAL_NETWORK
38     parameters:
39       - string:
40           name: EXTERNAL_NETWORK
41           default: public
42
43 - cntt-containers: &cntt-containers
44     name: 'cntt-containers'
45     repo: '{repo}'
46     port: '{port}'
47     container: '{container}'
48     functest_tag: '{functest_tag}'
49
50 - cntt-run-containers: &cntt-run-containers
51     name: 'cntt-run-containers'
52     <<: *cntt-containers
53     test: '{test}'
54
55 - builder:
56     name: cntt-pull-containers
57     builders:
58       - shell: |
59           set +x
60           if [ "{repo}" = "_" ]; then
61             image={container}:{functest_tag}
62           elif [ "{port}" = "None" ]; then
63             image={repo}/{container}:{functest_tag}
64           else
65             image={repo}:{port}/{container}:{functest_tag}
66           fi
67           sudo docker pull $image
68
69 - builder:
70     name: cntt-run-containers
71     builders:
72       - shell: |
73           set +x
74           [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
75           if [ "{repo}" = "_" ]; then
76             image={container}:{functest_tag}
77           elif [ "{port}" = "None" ]; then
78             image={repo}/{container}:{functest_tag}
79           else
80             image={repo}:{port}/{container}:{functest_tag}
81           fi
82           sudo docker run --rm \
83             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
84             -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID \
85             -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID \
86             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
87             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
88             -e NODE_NAME=$slave \
89             -e INSTALLER_TYPE=cntt \
90             -e BUILD_TAG=$BUILD_TAG \
91             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
92             -v /home/opnfv/functest/.boto:/root/.boto \
93             -e DEBUG=$DEBUG \
94             -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
95             -e DEPLOY_SCENARIO=os-nosdn-nofeature-ha \
96             -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
97             -v /home/opnfv/functest/images:/home/opnfv/functest/images \
98             -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
99           site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
100             $image run_tests -t {test} -r -p
101
102 - builder:
103     name: cntt-remove-images
104     builders:
105       - shell: |
106           set +x
107           if [ "{repo}" = "_" ]; then
108             image={container}:{functest_tag}
109           elif [ "{port}" = "None" ]; then
110             image={repo}/{container}:{functest_tag}
111           else
112             image={repo}:{port}/{container}:{functest_tag}
113           fi
114           sudo docker rmi $image || true
115
116 - builder:
117     name: cntt-deploy
118     builders:
119       - shell: |
120           set +x
121           export TERM_OPTS=" "
122           sudo -H -E -u opnfv bash -c 'tools/deploy.sh $slave deploy_site'
123
124 - scm:
125     name: cntt-scm
126     scm:
127       - git:
128           url: https://gerrit.opnfv.org/gerrit/airship
129           refspec: '+refs/changes/*:refs/changes/*'
130           branches:
131             - '{ref}'
132
133 - parameter:
134     name: cntt-branch
135     parameters:
136       - string:
137           name: branch
138           default: '{branch}'
139
140 - job-template:
141     name: 'cntt-deploy-daily-{tag}'
142     parameters:
143       - cntt-slave:
144           slave: '{slave}'
145       - cntt-branch:
146           branch: '{branch}'
147     scm:
148       - cntt-scm:
149           ref: $branch
150     builders:
151       - cntt-deploy
152
153 - job-template:
154     name: 'cntt-deploy-gate-{tag}'
155     parameters:
156       - cntt-slave:
157           slave: '{slave}'
158     scm:
159       - cntt-scm:
160           ref: $GERRIT_REFSPEC
161     builders:
162       - cntt-deploy
163
164 - project:
165     name: 'cntt-deploy'
166     <<: *cntt-params
167     jobs:
168       - 'cntt-deploy-daily-{tag}'
169       - 'cntt-deploy-gate-{tag}'
170
171 - job-template:
172     name: 'cntt-{repo}-{container}-{tag}-pull'
173     parameters:
174       - cntt-slave:
175           slave: '{slave}'
176     builders:
177       - cntt-pull-containers:
178           <<: *cntt-containers
179
180 - project:
181     name: 'cntt-opnfv-functest-healthcheck-pull'
182     <<: *cntt-params
183     container: 'functest-healthcheck'
184     jobs:
185       - 'cntt-{repo}-{container}-{tag}-pull'
186
187 - project:
188     name: 'cntt-opnfv-functest-smoke-pull'
189     <<: *cntt-params
190     container: 'functest-smoke'
191     jobs:
192       - 'cntt-{repo}-{container}-{tag}-pull'
193
194 - project:
195     name: 'cntt-opnfv-functest-smoke-cntt-pull'
196     <<: *cntt-params
197     container: 'functest-smoke-cntt'
198     jobs:
199       - 'cntt-{repo}-{container}-{tag}-pull'
200
201 - project:
202     name: 'cntt-opnfv-functest-benchmarking-pull'
203     <<: *cntt-params
204     container: 'functest-benchmarking'
205     jobs:
206       - 'cntt-{repo}-{container}-{tag}-pull'
207
208 - project:
209     name: 'cntt-opnfv-functest-vnf-pull'
210     <<: *cntt-params
211     container: 'functest-vnf'
212     jobs:
213       - 'cntt-{repo}-{container}-{tag}-pull'
214
215 - job-template:
216     name: 'cntt-{repo}-{container}-{tag}-rmi'
217     parameters:
218       - cntt-slave:
219           slave: '{slave}'
220     builders:
221       - cntt-remove-images:
222           <<: *cntt-containers
223
224 - project:
225     name: 'cntt-opnfv-functest-healthcheck-rmi'
226     <<: *cntt-params
227     container: 'functest-healthcheck'
228     jobs:
229       - 'cntt-{repo}-{container}-{tag}-rmi'
230
231 - project:
232     name: 'cntt-opnfv-functest-smoke-rmi'
233     <<: *cntt-params
234     container: 'functest-smoke'
235     jobs:
236       - 'cntt-{repo}-{container}-{tag}-rmi'
237
238 - project:
239     name: 'cntt-opnfv-functest-smoke-cntt-rmi'
240     <<: *cntt-params
241     container: 'functest-smoke-cntt'
242     jobs:
243       - 'cntt-{repo}-{container}-{tag}-rmi'
244
245 - project:
246     name: 'cntt-opnfv-functest-benchmarking-rmi'
247     <<: *cntt-params
248     container: 'functest-benchmarking'
249     jobs:
250       - 'cntt-{repo}-{container}-{tag}-rmi'
251
252 - project:
253     name: 'cntt-opnfv-functest-vnf-rmi'
254     <<: *cntt-params
255     container: 'functest-vnf'
256     jobs:
257       - 'cntt-{repo}-{container}-{tag}-rmi'
258
259 - job-template:
260     name: 'cntt-{repo}-{container}-{tag}-{test}-run'
261     parameters:
262       - cntt-slave:
263           slave: '{slave}'
264       - cntt-build_tag:
265           build_tag: ''
266       - cntt-DEBUG:
267           DEBUG: 'true'
268       - cntt-EXTERNAL_NETWORK:
269           EXTERNAL_NETWORK: public
270     builders:
271       - cntt-run-containers:
272           <<: *cntt-run-containers
273
274 - project:
275     name: 'cntt-opnfv-functest-healthcheck'
276     <<: *cntt-params
277     container: 'functest-healthcheck'
278     test:
279       - connection_check
280       - tenantnetwork1
281       - tenantnetwork2
282       - vmready1
283       - vmready2
284       - singlevm1
285       - singlevm2
286       - vping_ssh
287       - vping_userdata
288       - cinder_test
289       - odl
290       - tempest_smoke
291     jobs:
292       - 'cntt-{repo}-{container}-{tag}-{test}-run'
293
294 - project:
295     name: 'cntt-opnfv-functest-smoke'
296     <<: *cntt-params
297     container: 'functest-smoke'
298     test:
299       - neutron-tempest-plugin-api
300       - rally_sanity
301       - refstack_defcore
302       - tempest_full
303       - tempest_scenario
304       - patrole
305       - neutron_trunk
306       - networking-bgpvpn
307       - networking-sfc
308       - barbican
309     jobs:
310       - 'cntt-{repo}-{container}-{tag}-{test}-run'
311
312 - project:
313     name: 'cntt-opnfv-functest-smoke-cntt'
314     <<: *cntt-params
315     container: 'functest-smoke-cntt'
316     test:
317       - neutron-tempest-plugin-api
318       - tempest_cinder
319       - tempest_keystone
320       - rally_sanity
321       - tempest_full
322       - tempest_scenario
323       - tempest_slow
324     jobs:
325       - 'cntt-{repo}-{container}-{tag}-{test}-run'
326
327 - project:
328     name: 'cntt-opnfv-functest-benchmarking'
329     <<: *cntt-params
330     container: 'functest-benchmarking'
331     test:
332       - rally_full
333       - rally_jobs
334       - vmtp
335       - shaker
336     jobs:
337       - 'cntt-{repo}-{container}-{tag}-{test}-run'
338
339 - project:
340     name: 'cntt-opnfv-functest-vnf'
341     <<: *cntt-params
342     container: 'functest-vnf'
343     test:
344       - cloudify
345       - cloudify_ims
346       - heat_ims
347       - vyos_vrouter
348       - juju_epc
349     jobs:
350       - 'cntt-{repo}-{container}-{tag}-{test}-run'
351
352 - job-template:
353     name: 'cntt-{tag}-daily'
354     project-type: multijob
355     triggers:
356       - timed: '@daily'
357     parameters:
358       - cntt-slave:
359           slave: '{slave}'
360       - cntt-build_tag:
361           build_tag: ''
362       - cntt-branch:
363           branch: 'master'
364       - cntt-DEBUG:
365           DEBUG: 'true'
366       - cntt-EXTERNAL_NETWORK:
367           EXTERNAL_NETWORK: public
368     properties:
369       - build-blocker:
370           use-build-blocker: true
371           blocking-level: 'NODE'
372           blocking-jobs:
373             - '^cntt-{tag}-(daily|gate)$'
374     builders:
375       - multijob:
376           name: deploy
377           projects:
378             - name: 'cntt-deploy-daily-{tag}'
379               <<: *cntt-jobs
380       - multijob:
381           name: remove former images
382           projects:
383             - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
384               <<: *cntt-jobs
385             - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
386               <<: *cntt-jobs
387             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
388               <<: *cntt-jobs
389             - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
390               <<: *cntt-jobs
391             - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
392               <<: *cntt-jobs
393       - multijob:
394           name: pull containers
395           projects:
396             - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
397               <<: *cntt-jobs
398             - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
399               <<: *cntt-jobs
400             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
401               <<: *cntt-jobs
402             - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
403               <<: *cntt-jobs
404             - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
405               <<: *cntt-jobs
406       - multijob:
407           name: opnfv/functest-healthcheck:{functest_tag}
408           condition: ALWAYS
409           projects:
410             - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
411               <<: *cntt-jobs
412             - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
413               <<: *cntt-jobs
414             - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
415               <<: *cntt-jobs
416             - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
417               <<: *cntt-jobs
418             - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
419               <<: *cntt-jobs
420             - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
421               <<: *cntt-jobs
422             - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
423               <<: *cntt-jobs
424             - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
425               <<: *cntt-jobs
426             - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
427               <<: *cntt-jobs
428             - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
429               <<: *cntt-jobs
430             - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
431               <<: *cntt-jobs
432             - name: 'cntt-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
433               <<: *cntt-jobs
434       - multijob:
435           name: opnfv/functest-smoke:{functest_tag}
436           condition: ALWAYS
437           projects:
438             - name: 'cntt-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
439               <<: *cntt-jobs
440             - name: 'cntt-opnfv-functest-smoke-{tag}-rally_sanity-run'
441               <<: *cntt-jobs
442             - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_defcore-run'
443               <<: *cntt-jobs
444             - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_full-run'
445               <<: *cntt-jobs
446             - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
447               <<: *cntt-jobs
448             - name: 'cntt-opnfv-functest-smoke-{tag}-patrole-run'
449               <<: *cntt-jobs
450             - name: 'cntt-opnfv-functest-smoke-{tag}-neutron_trunk-run'
451               <<: *cntt-jobs
452             - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
453               <<: *cntt-jobs
454             - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
455               <<: *cntt-jobs
456             - name: 'cntt-opnfv-functest-smoke-{tag}-barbican-run'
457               <<: *cntt-jobs
458       - multijob:
459           name: opnfv/functest-smoke-cntt:{tag}
460           condition: ALWAYS
461           projects:
462             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
463               <<: *cntt-jobs
464             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
465               <<: *cntt-jobs
466             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
467               <<: *cntt-jobs
468             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
469               <<: *cntt-jobs
470             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
471               <<: *cntt-jobs
472             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
473               <<: *cntt-jobs
474             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
475               <<: *cntt-jobs
476       - multijob:
477           name: opnfv/functest-benchmarking:{functest_tag}
478           condition: ALWAYS
479           projects:
480             - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_full-run'
481               <<: *cntt-jobs
482             - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
483               <<: *cntt-jobs
484             - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
485               <<: *cntt-jobs
486             - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
487               <<: *cntt-jobs
488       - multijob:
489           name: opnfv/functest-vnf:{functest_tag}
490           condition: ALWAYS
491           execution-type: SEQUENTIALLY
492           projects:
493             - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
494               <<: *cntt-jobs
495             - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
496               <<: *cntt-jobs
497             - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
498               <<: *cntt-jobs
499             - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
500               <<: *cntt-jobs
501             - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
502               <<: *cntt-jobs
503
504 - trigger:
505     name: cntt-patchset-created
506     triggers:
507       - gerrit:
508           server-name: 'gerrit.opnfv.org'
509           trigger-on:
510             - patchset-created-event
511             - comment-added-contains-event:
512                 comment-contains-value: 'recheck'
513             - comment-added-contains-event:
514                 comment-contains-value: 'reverify'
515           projects:
516             - project-compare-type: 'ANT'
517               project-pattern: 'airship'
518               branches:
519                 - branch-compare-type: 'ANT'
520                   branch-pattern: '**/{branch}'
521           skip-vote:
522             successful: false
523             failed: false
524             unstable: false
525             notbuilt: false
526
527 - job-template:
528     name: 'cntt-{tag}-gate'
529     project-type: multijob
530     disabled: true
531     triggers:
532       - cntt-patchset-created:
533           branch: '{branch}'
534     parameters:
535       - cntt-slave:
536           slave: '{slave}'
537       - cntt-build_tag:
538           build_tag: ''
539       - cntt-DEBUG:
540           DEBUG: 'true'
541       - cntt-EXTERNAL_NETWORK:
542           EXTERNAL_NETWORK: public
543     properties:
544       - build-blocker:
545           use-build-blocker: true
546           blocking-level: 'NODE'
547           blocking-jobs:
548             - '^cntt-{tag}-(daily|gate)$'
549     builders:
550       - multijob:
551           name: deploy
552           projects:
553             - name: 'cntt-deploy-gate-{tag}'
554               <<: *cntt-jobs
555       - multijob:
556           name: remove former images
557           projects:
558             - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
559               <<: *cntt-jobs
560             - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
561               <<: *cntt-jobs
562             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
563               <<: *cntt-jobs
564             - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
565               <<: *cntt-jobs
566             - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
567               <<: *cntt-jobs
568       - multijob:
569           name: pull containers
570           projects:
571             - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
572               <<: *cntt-jobs
573             - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
574               <<: *cntt-jobs
575             - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
576               <<: *cntt-jobs
577             - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
578               <<: *cntt-jobs
579             - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
580               <<: *cntt-jobs
581       - multijob:
582           name: opnfv/functest-healthcheck:{functest_tag}
583           projects:
584             - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
585               <<: *cntt-jobs
586             - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
587               <<: *cntt-jobs
588             - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
589               <<: *cntt-jobs
590             - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
591               <<: *cntt-jobs
592             - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
593               <<: *cntt-jobs
594             - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
595               <<: *cntt-jobs
596             - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
597               <<: *cntt-jobs
598             - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
599               <<: *cntt-jobs
600             - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
601               <<: *cntt-jobs
602             - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
603               <<: *cntt-jobs
604             - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
605               <<: *cntt-jobs
606       - multijob:
607           name: opnfv/functest-smoke:{functest_tag}
608           projects:
609             - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
610               <<: *cntt-jobs
611             - name: 'cntt-opnfv-functest-smoke-{tag}-neutron_trunk-run'
612               <<: *cntt-jobs
613             - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
614               <<: *cntt-jobs
615             - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
616               <<: *cntt-jobs
617             - name: 'cntt-opnfv-functest-smoke-{tag}-barbican-run'
618               <<: *cntt-jobs
619       - multijob:
620           name: opnfv/functest-benchmarking:{functest_tag}
621           projects:
622             - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
623               <<: *cntt-jobs
624             - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
625               <<: *cntt-jobs
626       - multijob:
627           name: opnfv/functest-vnf:{functest_tag}
628           condition: ALWAYS
629           execution-type: SEQUENTIALLY
630           projects:
631             - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
632               <<: *cntt-jobs
633             - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
634               <<: *cntt-jobs
635             - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
636               <<: *cntt-jobs
637             - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
638               <<: *cntt-jobs
639             - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
640               <<: *cntt-jobs
641
642 - project:
643     name: 'cntt'
644     <<: *cntt-params
645     jobs:
646       - 'cntt-{tag}-daily'
647       - 'cntt-{tag}-gate'
648
649 - view:
650     name: cntt
651     view-type: list
652     columns:
653       - status
654       - weather
655       - job
656       - last-success
657       - last-failure
658       - last-duration
659     regex: ^cntt-[a-z]+-(daily|check|gate)$