2 - functest-kubernetes-ng-containers: &functest-kubernetes-ng-containers
3 name: 'functest-kubernetes-ng-containers'
6 container: '{container}'
9 - functest-kubernetes-ng-params: &functest-kubernetes-ng-params
10 name: 'functest-kubernetes-ng-params'
19 from: s/:leguer$/:v1.20/g
25 from: s/:kali$/:v1.19/g
32 from: s/:kali$/:v1.18/g
34 - functest-kubernetes-ng-jobs: &functest-kubernetes-ng-jobs
35 name: 'functest-kubernetes-ng-jobs'
36 current-parameters: true
39 name: functest-kubernetes-ng-slave
45 - functest-kubernetes-ng-build-containers: &functest-kubernetes-ng-build-containers
46 name: 'functest-kubernetes-ng-build-containers'
47 <<: *functest-kubernetes-ng-containers
50 build_args: '{build_args}'
54 name: functest-kubernetes-ng-build-containers
58 if [ "{repo}" = "_" ]; then
59 image={container}:{tag}
60 elif [ "{port}" = "None" ]; then
61 image={repo}/{container}:{tag}
63 image={repo}:{port}/{container}:{tag}
66 if [ "{build_args}" != "None" ]; then
67 for i in $(echo {build_args} | tr -d '[]' |sed "s/, / /g" ); \
68 do build_args="--build-arg $i $build_args"; done
70 if [ "{ref_arg}" != "None" ]; then
71 build_args="$build_args --build-arg {ref_arg}={ref}"
74 if [ "{from}" != "None" ]; then
75 sed -i {from} Dockerfile
77 sudo docker build $build_args \
78 --pull=false --no-cache --force-rm=true \
82 name: functest-kubernetes-ng-scm
85 url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
86 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
90 - functest-kubernetes-ng-dep: &functest-kubernetes-ng-dep
91 name: 'functest-kubernetes-ng-containers'
95 dependency: '{dependency}'
98 name: functest-kubernetes-ng-pull-dep-images
102 if [ "_" = "_" ]; then
103 image=alpine:{dependency}
104 elif [ "None" = "None" ]; then
105 image=_/alpine:{dependency}
107 image=_:/alpine:{dependency}
109 sudo docker pull $image || true
112 name: functest-kubernetes-ng-remove-dep-images
116 if [ "_" = "_" ]; then
117 image=alpine:{dependency}
118 elif [ "" = "None" ]; then
119 image=_/alpine:{dependency}
121 image=_:/alpine:{dependency}
123 sudo docker rmi $image || true
126 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
128 - functest-kubernetes-ng-slave:
131 - functest-kubernetes-ng-pull-dep-images:
132 <<: *functest-kubernetes-ng-dep
135 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
136 <<: *functest-kubernetes-ng-params
138 - 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
141 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
143 - functest-kubernetes-ng-slave:
146 - functest-kubernetes-ng-remove-dep-images:
147 <<: *functest-kubernetes-ng-dep
150 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
151 <<: *functest-kubernetes-ng-params
153 - 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
156 name: functest-kubernetes-ng-push-containers
160 if [ "{repo}" = "_" ]; then
161 image={container}:{tag}
162 elif [ "{port}" = "None" ]; then
163 image={repo}/{container}:{tag}
165 image={repo}:{port}/{container}:{tag}
167 sudo docker push $image
170 name: functest-kubernetes-ng-commit
176 name: 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
178 - functest-kubernetes-ng-slave:
181 - functest-kubernetes-ng-scm:
184 - functest-kubernetes-ng-build-containers:
185 <<: *functest-kubernetes-ng-build-containers
187 build_args: '{build_args}'
188 - functest-kubernetes-ng-push-containers:
189 <<: *functest-kubernetes-ng-build-containers
193 name: functest-kubernetes-ng-opnfv-functest-kubernetes-core-{tag}-build
194 <<: *functest-kubernetes-ng-params
195 container: functest-kubernetes-core
199 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
202 name: functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-{tag}-build
203 <<: *functest-kubernetes-ng-params
204 container: functest-kubernetes-healthcheck
206 path: docker/healthcheck
208 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
211 name: functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-{tag}-build
212 <<: *functest-kubernetes-ng-params
213 container: functest-kubernetes-cnf
217 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
220 name: functest-kubernetes-ng-opnfv-functest-kubernetes-security-{tag}-build
221 <<: *functest-kubernetes-ng-params
222 container: functest-kubernetes-security
224 path: docker/security
226 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
229 name: functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-{tag}-build
230 <<: *functest-kubernetes-ng-params
231 container: functest-kubernetes-smoke
235 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
238 name: functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-{tag}-build
239 <<: *functest-kubernetes-ng-params
240 container: functest-kubernetes-benchmarking
242 path: docker/benchmarking
244 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
247 name: 'functest-kubernetes-ng-{tag}-docker'
248 project-type: multijob
250 - functest-kubernetes-ng-commit
252 - functest-kubernetes-ng-scm:
255 - functest-kubernetes-ng-slave:
257 # PyYAML and yamllint differ here
258 # see https://github.com/yaml/pyyaml/issues/234
259 # yamllint disable rule:indentation
263 - ^functest-kubernetes-ng-{tag}-(daily|docker|review)$
264 # yamllint enable rule:indentation
267 name: remove dependency
269 - name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
270 <<: *functest-kubernetes-ng-jobs
272 name: pull dependency
274 - name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
275 <<: *functest-kubernetes-ng-jobs
277 name: build opnfv/functest-kubernetes-core
279 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-core-{tag}-build'
280 <<: *functest-kubernetes-ng-jobs
282 name: build containers
284 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-{tag}-build'
285 <<: *functest-kubernetes-ng-jobs
286 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-{tag}-build'
287 <<: *functest-kubernetes-ng-jobs
288 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-security-{tag}-build'
289 <<: *functest-kubernetes-ng-jobs
291 name: build opnfv/functest-kubernetes-smoke
293 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-{tag}-build'
294 <<: *functest-kubernetes-ng-jobs
296 name: build opnfv/functest-kubernetes-benchmarking
298 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-{tag}-build'
299 <<: *functest-kubernetes-ng-jobs
305 recipients: cedric.ollivier@orange.com
308 name: functest-kubernetes-ng-trivy
311 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
312 sudo DEBIAN_FRONTEND=noninteractive apt-get \
313 -o DPkg::Lock::Timeout=300 install curl -y
315 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
316 if [ "{repo}" = "_" ]; then
317 image={container}:{tag}
318 elif [ "{port}" = "None" ]; then
319 image={repo}/{container}:{tag}
321 image={repo}:{port}/{container}:{tag}
323 ./trivy --exit-code 1 $image
326 name: 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
330 - functest-kubernetes-ng-slave:
333 - functest-kubernetes-ng-trivy:
334 <<: *functest-kubernetes-ng-containers
340 recipients: cedric.ollivier@orange.com
343 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-core-trivy'
344 <<: *functest-kubernetes-ng-params
345 container: 'functest-kubernetes-core'
347 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
350 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-trivy'
351 <<: *functest-kubernetes-ng-params
352 container: 'functest-kubernetes-healthcheck'
354 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
357 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-trivy'
358 <<: *functest-kubernetes-ng-params
359 container: 'functest-kubernetes-cnf'
361 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
364 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-security-trivy'
365 <<: *functest-kubernetes-ng-params
366 container: 'functest-kubernetes-security'
368 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
371 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-trivy'
372 <<: *functest-kubernetes-ng-params
373 container: 'functest-kubernetes-smoke'
375 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
378 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-trivy'
379 <<: *functest-kubernetes-ng-params
380 container: 'functest-kubernetes-benchmarking'
382 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
385 name: functest-kubernetes-ng-docker-scan
388 sudo apt-get -o DPkg::Lock::Timeout=300 update && \
389 sudo DEBIAN_FRONTEND=noninteractive apt-get \
390 -o DPkg::Lock::Timeout=300 install curl docker.io -y
392 mkdir -p ~/.docker/cli-plugins && \
393 curl https://github.com/docker/scan-cli-plugin/releases/latest/download/docker-scan_linux_amd64 \
394 -L -s -S -o ~/.docker/cli-plugins/docker-scan &&\
395 chmod +x ~/.docker/cli-plugins/docker-scan
396 if [ "{repo}" = "_" ]; then
397 image={container}:{tag}
398 elif [ "{port}" = "None" ]; then
399 image={repo}/{container}:{tag}
401 image={repo}:{port}/{container}:{tag}
403 sudo docker scan $image
406 name: 'functest-kubernetes-ng-{repo}-{container}-{tag}-docker-scan'
410 - functest-kubernetes-ng-slave:
413 - functest-kubernetes-ng-docker-scan:
414 <<: *functest-kubernetes-ng-containers
420 recipients: cedric.ollivier@orange.com
423 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-core-docker-scan'
424 <<: *functest-kubernetes-ng-params
425 container: 'functest-kubernetes-core'
427 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-docker-scan'
430 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-docker-scan'
431 <<: *functest-kubernetes-ng-params
432 container: 'functest-kubernetes-healthcheck'
434 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-docker-scan'
437 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-docker-scan'
438 <<: *functest-kubernetes-ng-params
439 container: 'functest-kubernetes-cnf'
441 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-docker-scan'
444 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-security-docker-scan'
445 <<: *functest-kubernetes-ng-params
446 container: 'functest-kubernetes-security'
448 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-docker-scan'
451 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-docker-scan'
452 <<: *functest-kubernetes-ng-params
453 container: 'functest-kubernetes-smoke'
455 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-docker-scan'
458 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-docker-scan'
459 <<: *functest-kubernetes-ng-params
460 container: 'functest-kubernetes-benchmarking'
462 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-docker-scan'
465 name: 'functest-kubernetes-ng'
466 <<: *functest-kubernetes-ng-params
468 - 'functest-kubernetes-ng-{tag}-docker'
471 name: functest-kubernetes-ng-docker
480 regex: ^functest-kubernetes-ng-[a-z0-9.]+-docker$
483 name: functest-kubernetes-ng-trivy
492 regex: ^functest-kubernetes-ng-[a-z0-9-.]+-trivy$
495 name: functest-kubernetes-ng-docker-scan
504 regex: ^functest-kubernetes-ng-[a-z0-9.]+-docker-scan$