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