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