Protect if {volumes} or env is None
[releng.git] / jjb / functest / xtesting.yaml
1 ---
2 - xtesting-containers: &xtesting-containers
3     name: 'xtesting-containers'
4     repo: '{repo}'
5     port: '{port}'
6     container: '{container}'
7     tag: '{tag}'
8
9 - xtesting-params: &xtesting-params
10     name: 'xtesting-params'
11     repo: 'opnfv'
12     port:
13     tag:
14       - latest:
15           from:
16           buildargs:
17           branch: master
18           slave: lf-virtual1
19           dependency: 3.13
20       - wallaby:
21           from:
22           buildargs:
23           branch: stable/wallaby
24           slave: lf-virtual1
25           dependency: 3.13
26       - leguer:
27           from:
28           buildargs:
29           branch: stable/leguer
30           slave: lf-virtual1
31           dependency: 3.12
32       - kali:
33           from:
34           buildargs:
35           branch: stable/kali
36           slave: lf-virtual1
37           dependency: 3.11
38       - jerma:
39           from:
40           buildargs:
41           branch: stable/jerma
42           slave: lf-virtual1
43           dependency: 3.10
44
45 - xtesting-jobs: &xtesting-jobs
46     name: 'xtesting-jobs'
47     current-parameters: true
48
49 - parameter:
50     name: xtesting-slave
51     parameters:
52       - label:
53           name: slave
54           default: '{slave}'
55
56 - parameter:
57     name: xtesting-build_tag
58     parameters:
59       - random-string:
60           name: build_tag
61
62 - xtesting-run-containers: &xtesting-run-containers
63     name: 'xtesting-run-containers'
64     <<: *xtesting-containers
65     test: '{test}'
66     privileged: '{privileged}'
67     volumes: '{volumes}'
68     env: '{env}'
69     network: '{network}'
70
71 - builder:
72     name: xtesting-pull-containers
73     builders:
74       - shell: |
75           set +x
76           if [ "{repo}" = "_" ]; then
77             image={container}:{tag}
78           elif [ "{port}" = "None" ]; then
79             image={repo}/{container}:{tag}
80           else
81             image={repo}:{port}/{container}:{tag}
82           fi
83           docker pull $image
84
85 - builder:
86     name: xtesting-run-containers
87     builders:
88       - shell: |
89           set +x
90           volumes=;
91           if [ "{volumes}" != "None" ]; then
92             for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
93           fi
94           env=;
95           if [ "{env}" != "None" ]; then
96             for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
97           fi
98           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
99           if [ "{repo}" = "_" ]; then
100             image={container}:{tag}
101           elif [ "{port}" = "None" ]; then
102             image={repo}/{container}:{tag}
103           else
104             image={repo}:{port}/{container}:{tag}
105           fi
106           docker run --rm \
107             --privileged={privileged} \
108             --network={network} \
109             $volumes \
110             $env \
111             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
112             -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
113             -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting/$BUILD_TAG/$JOB_NAME-$BUILD_ID \
114             -v /home/opnfv/xtesting/.boto:/root/.boto \
115             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
116             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
117             -e NODE_NAME=$slave \
118             -e BUILD_TAG=$BUILD_TAG \
119             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
120             $image run_tests -t {test} -p -r
121
122 - builder:
123     name: xtesting-remove-images
124     builders:
125       - shell: |
126           set +x
127           if [ "{repo}" = "_" ]; then
128             image={container}:{tag}
129           elif [ "{port}" = "None" ]; then
130             image={repo}/{container}:{tag}
131           else
132             image={repo}:{port}/{container}:{tag}
133           fi
134           docker rmi $image || true
135
136 - job-template:
137     name: 'xtesting-{repo}-{container}-{tag}-pull'
138     parameters:
139       - xtesting-slave:
140           slave: '{slave}'
141     builders:
142       - xtesting-pull-containers:
143           <<: *xtesting-containers
144
145 - project:
146     name: 'xtesting-opnfv-xtesting-pull'
147     <<: *xtesting-params
148     container: 'xtesting'
149     jobs:
150       - 'xtesting-{repo}-{container}-{tag}-pull'
151
152 - project:
153     name: 'xtesting-opnfv-xtesting-mts-pull'
154     <<: *xtesting-params
155     container: 'xtesting-mts'
156     jobs:
157       - 'xtesting-{repo}-{container}-{tag}-pull'
158
159 - job-template:
160     name: 'xtesting-{repo}-{container}-{tag}-rmi'
161     parameters:
162       - xtesting-slave:
163           slave: '{slave}'
164     builders:
165       - xtesting-remove-images:
166           <<: *xtesting-containers
167
168 - project:
169     name: 'xtesting-opnfv-xtesting-rmi'
170     <<: *xtesting-params
171     container: 'xtesting'
172     jobs:
173       - 'xtesting-{repo}-{container}-{tag}-rmi'
174
175 - project:
176     name: 'xtesting-opnfv-xtesting-mts-rmi'
177     <<: *xtesting-params
178     container: 'xtesting-mts'
179     jobs:
180       - 'xtesting-{repo}-{container}-{tag}-rmi'
181
182 - job-template:
183     name: 'xtesting-opnfv-xtesting-{tag}-{test}-run'
184     parameters:
185       - xtesting-slave:
186           slave: '{slave}'
187       - xtesting-build_tag:
188           build_tag: ''
189     builders:
190       - xtesting-run-containers:
191           <<: *xtesting-run-containers
192
193 - project:
194     name: 'xtesting-opnfv-xtesting'
195     <<: *xtesting-params
196     volumes:
197     env:
198     container: 'xtesting'
199     test:
200       - first
201       - second
202       - third
203       - fourth
204       - fifth
205       - sixth
206       - eighth
207     privileged: 'false'
208     network: bridge
209     exclude:
210       - tag: leguer
211         test: eighth
212       - tag: kali
213         test: eighth
214       - tag: jerma
215         test: eighth
216     jobs:
217       - 'xtesting-opnfv-xtesting-{tag}-{test}-run'
218
219 - job-template:
220     name: 'xtesting-opnfv-xtesting-mts-{tag}-{test}-run'
221     parameters:
222       - xtesting-slave:
223           slave: '{slave}'
224       - xtesting-build_tag:
225           build_tag: ''
226     builders:
227       - xtesting-run-containers:
228           <<: *xtesting-run-containers
229
230 - project:
231     name: 'xtesting-opnfv-xtesting-mts'
232     <<: *xtesting-params
233     volumes:
234     env:
235     container: 'xtesting-mts'
236     test:
237       - seventh
238     privileged: 'false'
239     network: bridge
240     jobs:
241       - 'xtesting-opnfv-xtesting-mts-{tag}-{test}-run'
242
243 - builder:
244     name: xtesting-zip
245     builders:
246       - shell: |
247           set +x
248           volumes=; for i in $(echo {volumes} | tr -d '[] ' |sed "s/,/ /g" ); do volumes="-v $i $volumes"; done
249           env=; for i in $(eval echo {env} | tr -d '[] ' |sed "s/,/ /g" ); do env="-e $i $env"; done
250           [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/results || true
251           if [ "{repo}" = "_" ]; then
252             image={container}:{tag}
253           elif [ "{port}" = "None" ]; then
254             image={repo}/{container}:{tag}
255           else
256             image={repo}:{port}/{container}:{tag}
257           fi
258           docker run --rm \
259             $volumes \
260             $env \
261             -e S3_ENDPOINT_URL=https://storage.googleapis.com \
262             -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting \
263             -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting \
264             -v /home/opnfv/xtesting/.boto:/root/.boto \
265             -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
266             -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
267             -e BUILD_TAG=$BUILD_TAG \
268             -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
269             $image zip_campaign
270
271 - job-template:
272     name: 'xtesting-{tag}-zip'
273     parameters:
274       - xtesting-slave:
275           slave: '{slave}'
276       - xtesting-build_tag:
277           build_tag: ''
278     builders:
279       - xtesting-zip:
280           <<: *xtesting-containers
281           volumes: '{volumes}'
282           env: '{env}'
283
284 - project:
285     name: 'xtesting-{tag}-zip'
286     <<: *xtesting-params
287     volumes:
288     env:
289     container: 'xtesting'
290     jobs:
291       - 'xtesting-{tag}-zip'
292
293 - job-template:
294     name: 'xtesting-{tag}-daily'
295     project-type: multijob
296     triggers:
297       - timed: '@daily'
298     parameters:
299       - xtesting-slave:
300           slave: '{slave}'
301       - xtesting-build_tag:
302           build_tag: ''
303     # PyYAML and yamllint differ here
304     # see https://github.com/yaml/pyyaml/issues/234
305     # yamllint disable rule:indentation
306     properties:
307       - build-blocker:
308           blocking-jobs:
309           - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
310     # yamllint enable rule:indentation
311     builders:
312       - multijob:
313           name: remove former images
314           projects:
315             - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
316               <<: *xtesting-jobs
317             - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
318               <<: *xtesting-jobs
319       - multijob:
320           name: pull containers
321           projects:
322             - name: 'xtesting-opnfv-xtesting-{tag}-pull'
323               <<: *xtesting-jobs
324             - name: 'xtesting-opnfv-xtesting-mts-{tag}-pull'
325               <<: *xtesting-jobs
326       - multijob:
327           name: opnfv/xtesting:{tag}
328           projects:
329             - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
330               <<: *xtesting-jobs
331             - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
332               <<: *xtesting-jobs
333             - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
334               <<: *xtesting-jobs
335             - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
336               <<: *xtesting-jobs
337             - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
338               <<: *xtesting-jobs
339             - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
340               <<: *xtesting-jobs
341             - name: 'xtesting-opnfv-xtesting-{tag}-eighth-run'
342               <<: *xtesting-jobs
343       - multijob:
344           name: opnfv/xtesting-mts:{tag}
345           projects:
346             - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
347               <<: *xtesting-jobs
348       - multijob:
349           name: dump all campaign data
350           projects:
351             - name: 'xtesting-{tag}-zip'
352               <<: *xtesting-jobs
353
354 - project:
355     name: 'xtesting-daily'
356     <<: *xtesting-params
357     jobs:
358       - 'xtesting-{tag}-daily'
359
360 - view:
361     name: xtesting
362     view-type: list
363     columns:
364       - status
365       - weather
366       - job
367       - last-success
368       - last-failure
369       - last-duration
370     regex: ^xtesting-[a-z0-9.]+-daily$
371
372 - xtesting-build-containers: &xtesting-build-containers
373     name: 'xtesting-build-containers'
374     <<: *xtesting-containers
375     ref_arg: '{ref_arg}'
376     path: '{path}'
377     buildargs: '{buildargs}'
378     from: '{from}'
379
380 - builder:
381     name: xtesting-build-containers
382     builders:
383       - shell: |
384           set +x
385           if [ "{repo}" = "_" ]; then
386             image={container}:{tag}
387           elif [ "{port}" = "None" ]; then
388             image={repo}/{container}:{tag}
389           else
390             image={repo}:{port}/{container}:{tag}
391           fi
392           build_args=""
393           if [ "{buildargs}" != "None" ]; then
394             build_args="{buildargs}"
395           fi
396           if [ "{ref_arg}" != "None" ]; then
397             build_args="$build_args --build-arg {ref_arg}={ref}"
398           fi
399           cd {path}
400           if [ "{from}" != "None" ]; then
401               sed -i {from} Dockerfile
402           fi
403           docker build $build_args \
404             --pull=false --no-cache --force-rm=true \
405             -t $image .
406
407 - scm:
408     name: xtesting-scm
409     scm:
410       - git:
411           url: 'https://gerrit.opnfv.org/gerrit/functest-xtesting'
412           refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
413           branches:
414             - '{ref}'
415
416 - xtesting-dep: &xtesting-dep
417     name: 'xtesting-containers'
418     repo: '{repo}'
419     port: '{port}'
420     tag: '{tag}'
421     dependency: '{dependency}'
422
423 - builder:
424     name: xtesting-pull-dep-images
425     builders:
426       - shell: |
427           set +x
428           if [ "_" = "_" ]; then
429             image=alpine:{dependency}
430           elif [ "" = "None" ]; then
431             image=_/alpine:{dependency}
432           else
433             image=_:/alpine:{dependency}
434           fi
435           docker pull $image || true
436
437 - builder:
438     name: xtesting-remove-dep-images
439     builders:
440       - shell: |
441           set +x
442           if [ "_" = "_" ]; then
443             image=alpine:{dependency}
444           elif [ "" = "None" ]; then
445             image=_/alpine:{dependency}
446           else
447             image=_:/alpine:{dependency}
448           fi
449           docker rmi $image || true
450
451 - job-template:
452     name: 'xtesting-{repo}-{tag}-dep-pull'
453     parameters:
454       - xtesting-slave:
455           slave: '{slave}'
456     builders:
457       - xtesting-pull-dep-images:
458           <<: *xtesting-dep
459
460 - project:
461     name: 'xtesting-{repo}-{tag}-dep-pull'
462     <<: *xtesting-params
463     jobs:
464       - 'xtesting-{repo}-{tag}-dep-pull'
465
466 - job-template:
467     name: 'xtesting-{repo}-{tag}-dep-rmi'
468     parameters:
469       - xtesting-slave:
470           slave: '{slave}'
471     builders:
472       - xtesting-remove-dep-images:
473           <<: *xtesting-dep
474
475 - project:
476     name: 'xtesting-{repo}-{tag}-dep-rmi'
477     <<: *xtesting-params
478     jobs:
479       - 'xtesting-{repo}-{tag}-dep-rmi'
480
481 - builder:
482     name: xtesting-tox
483     builders:
484       - shell: |
485           set +x
486           apt-get update && apt-get install \
487             software-properties-common gpg -y
488           add-apt-repository -y ppa:deadsnakes/ppa
489           apt-get update && apt-get install python3.8 \
490             python3.8-dev python3.8-distutils \
491             python3.7 python3.7-dev python3.6 python3.6-dev \
492             python python-dev python3-pip enchant -y
493           pip3 install tox tox-pip-version
494
495           tox
496
497 - job-template:
498     name: 'xtesting-{tag}-tox'
499     scm:
500       - xtesting-scm:
501           ref: $GERRIT_REFSPEC
502     triggers:
503       - xtesting-patchset-created:
504           branch: '{branch}'
505     parameters:
506       - xtesting-slave:
507           slave: '{slave}'
508     builders:
509       - xtesting-tox:
510
511 - project:
512     name: xtesting-tox
513     <<: *xtesting-params
514     jobs:
515       - 'xtesting-{tag}-tox'
516
517 - job-template:
518     name: 'xtesting-{repo}-{container}-{tag}-gate'
519     parameters:
520       - xtesting-slave:
521           slave: '{slave}'
522     scm:
523       - xtesting-scm:
524           ref: $GERRIT_REFSPEC
525     builders:
526       - xtesting-build-containers:
527           <<: *xtesting-build-containers
528           ref: $GERRIT_REFSPEC
529           buildargs: '{buildargs}'
530
531 - project:
532     name: xtesting-opnfv-xtesting-{tag}-gate
533     <<: *xtesting-params
534     container: xtesting
535     ref_arg: BRANCH
536     path: docker/core
537     jobs:
538       - 'xtesting-{repo}-{container}-{tag}-gate'
539
540 - project:
541     name: xtesting-opnfv-xtesting-mts-{tag}-gate
542     <<: *xtesting-params
543     container: xtesting-mts
544     ref_arg: BRANCH
545     path: docker/mts
546     jobs:
547       - 'xtesting-{repo}-{container}-{tag}-gate'
548
549 - trigger:
550     name: xtesting-patchset-created
551     triggers:
552       - gerrit:
553           trigger-on:
554             - patchset-created-event
555             - comment-added-contains-event:
556                 comment-contains-value: 'recheck'
557             - comment-added-contains-event:
558                 comment-contains-value: 'reverify'
559           projects:
560             - project-compare-type: 'ANT'
561               project-pattern: 'functest-xtesting'
562               branches:
563                 - branch-compare-type: 'ANT'
564                   branch-pattern: '**/{branch}'
565
566 - job-template:
567     name: 'xtesting-{tag}-review'
568     project-type: multijob
569     triggers:
570       - xtesting-patchset-created:
571           branch: '{branch}'
572     parameters:
573       - xtesting-slave:
574           slave: '{slave}'
575       - xtesting-build_tag:
576           build_tag: ''
577     # PyYAML and yamllint differ here
578     # see https://github.com/yaml/pyyaml/issues/234
579     # yamllint disable rule:indentation
580     properties:
581       - build-blocker:
582           blocking-jobs:
583           - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
584     # yamllint enable rule:indentation
585     builders:
586       - multijob:
587           name: remove former images
588           projects:
589             - name: 'xtesting-opnfv-xtesting-{tag}-rmi'
590               <<: *xtesting-jobs
591             - name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
592               <<: *xtesting-jobs
593       - multijob:
594           name: remove dependency
595           projects:
596             - name: 'xtesting-{repo}-{tag}-dep-rmi'
597               <<: *xtesting-jobs
598       - multijob:
599           name: pull dependency
600           projects:
601             - name: 'xtesting-{repo}-{tag}-dep-pull'
602               <<: *xtesting-jobs
603       - multijob:
604           name: opnfv/xtesting
605           projects:
606             - name: 'xtesting-opnfv-xtesting-{tag}-gate'
607               <<: *xtesting-jobs
608       - multijob:
609           name: opnfv/xtesting-mts
610           projects:
611             - name: 'xtesting-opnfv-xtesting-mts-{tag}-gate'
612               <<: *xtesting-jobs
613       - multijob:
614           name: opnfv/xtesting:{tag}
615           projects:
616             - name: 'xtesting-opnfv-xtesting-{tag}-first-run'
617               <<: *xtesting-jobs
618             - name: 'xtesting-opnfv-xtesting-{tag}-second-run'
619               <<: *xtesting-jobs
620             - name: 'xtesting-opnfv-xtesting-{tag}-third-run'
621               <<: *xtesting-jobs
622             - name: 'xtesting-opnfv-xtesting-{tag}-fourth-run'
623               <<: *xtesting-jobs
624             - name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
625               <<: *xtesting-jobs
626             - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
627               <<: *xtesting-jobs
628             - name: 'xtesting-opnfv-xtesting-{tag}-eighth-run'
629               <<: *xtesting-jobs
630       - multijob:
631           name: opnfv/xtesting-mts:{tag}
632           projects:
633             - name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
634               <<: *xtesting-jobs
635
636 - project:
637     name: 'xtesting-review'
638     <<: *xtesting-params
639     jobs:
640       - 'xtesting-{tag}-review'
641
642 - view:
643     name: xtesting-review
644     view-type: list
645     columns:
646       - status
647       - weather
648       - job
649       - last-success
650       - last-failure
651       - last-duration
652     regex: ^xtesting-[a-z0-9.]+-review$
653
654 - view:
655     name: xtesting-tox
656     view-type: list
657     columns:
658       - status
659       - weather
660       - job
661       - last-success
662       - last-failure
663       - last-duration
664     regex: ^xtesting-[a-z0-9.]+-tox$
665
666 - builder:
667     name: xtesting-push-containers
668     builders:
669       - shell: |
670           set +x
671           if [ "{repo}" = "_" ]; then
672             image={container}:{tag}
673           elif [ "{port}" = "None" ]; then
674             image={repo}/{container}:{tag}
675           else
676             image={repo}:{port}/{container}:{tag}
677           fi
678           docker push $image
679
680 - trigger:
681     name: xtesting-commit
682     triggers:
683       - pollscm:
684           cron: "*/30 * * * *"
685
686 - job-template:
687     name: 'xtesting-{repo}-{container}-{tag}-build'
688     parameters:
689       - xtesting-slave:
690           slave: '{slave}'
691     scm:
692       - xtesting-scm:
693           ref: '{branch}'
694     builders:
695       - xtesting-build-containers:
696           <<: *xtesting-build-containers
697           ref: '{branch}'
698           buildargs: '{buildargs}'
699       - xtesting-push-containers:
700           <<: *xtesting-build-containers
701           ref: '{branch}'
702
703 - project:
704     name: xtesting-opnfv-xtesting-{tag}-build
705     <<: *xtesting-params
706     container: xtesting
707     ref_arg: BRANCH
708     path: docker/core
709     jobs:
710       - 'xtesting-{repo}-{container}-{tag}-build'
711
712 - project:
713     name: xtesting-opnfv-xtesting-mts-{tag}-build
714     <<: *xtesting-params
715     container: xtesting-mts
716     ref_arg: BRANCH
717     path: docker/mts
718     jobs:
719       - 'xtesting-{repo}-{container}-{tag}-build'
720
721 - job-template:
722     name: 'xtesting-{tag}-docker'
723     project-type: multijob
724     triggers:
725       - xtesting-commit
726     scm:
727       - xtesting-scm:
728           ref: '{branch}'
729     parameters:
730       - xtesting-slave:
731           slave: '{slave}'
732     # PyYAML and yamllint differ here
733     # see https://github.com/yaml/pyyaml/issues/234
734     # yamllint disable rule:indentation
735     properties:
736       - build-blocker:
737           blocking-jobs:
738           - ^xtesting-(pi-)*{tag}-(daily|docker|review)$
739     # yamllint enable rule:indentation
740     builders:
741       - multijob:
742           name: remove dependency
743           projects:
744             - name: 'xtesting-{repo}-{tag}-dep-rmi'
745               <<: *xtesting-jobs
746       - multijob:
747           name: pull dependency
748           projects:
749             - name: 'xtesting-{repo}-{tag}-dep-pull'
750               <<: *xtesting-jobs
751       - multijob:
752           name: opnfv/xtesting
753           projects:
754             - name: 'xtesting-opnfv-xtesting-{tag}-build'
755               <<: *xtesting-jobs
756       - multijob:
757           name: opnfv/xtesting-mts
758           projects:
759             - name: 'xtesting-opnfv-xtesting-mts-{tag}-build'
760               <<: *xtesting-jobs
761
762 - builder:
763     name: xtesting-trivy
764     builders:
765       - shell: |
766           apt-get update && apt-get install curl -y
767
768           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b .
769           if [ "{repo}" = "_" ]; then
770             image={container}:{tag}
771           elif [ "{port}" = "None" ]; then
772             image={repo}/{container}:{tag}
773           else
774             image={repo}:{port}/{container}:{tag}
775           fi
776           ./trivy --exit-code 1 $image
777
778 - job-template:
779     name: 'xtesting-{repo}-{container}-{tag}-trivy'
780     triggers:
781       - timed: '@daily'
782     parameters:
783       - xtesting-slave:
784           slave: '{slave}'
785     builders:
786       - xtesting-trivy:
787           <<: *xtesting-containers
788
789 - project:
790     name: 'xtesting-opnfv-xtesting-trivy'
791     <<: *xtesting-params
792     container: 'xtesting'
793     jobs:
794       - 'xtesting-{repo}-{container}-{tag}-trivy'
795
796 - project:
797     name: 'xtesting-opnfv-xtesting-mts-trivy'
798     <<: *xtesting-params
799     container: 'xtesting-mts'
800     jobs:
801       - 'xtesting-{repo}-{container}-{tag}-trivy'
802
803 - project:
804     name: 'xtesting'
805     <<: *xtesting-params
806     jobs:
807       - 'xtesting-{tag}-docker'
808
809 - view:
810     name: xtesting-docker
811     view-type: list
812     columns:
813       - status
814       - weather
815       - job
816       - last-success
817       - last-failure
818       - last-duration
819     regex: ^xtesting-[a-z0-9.]+-docker$
820
821 - view:
822     name: xtesting-trivy
823     view-type: list
824     columns:
825       - status
826       - weather
827       - job
828       - last-success
829       - last-failure
830       - last-duration
831     regex: (?!xtesting-pi)^xtesting-[a-z-0-9.]+-trivy$