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
30 buildargs: --build-arg K8S_TAG=1.18
31 from: s/:kali$/:v1.18/g
33 - functest-kubernetes-ng-jobs: &functest-kubernetes-ng-jobs
34 name: 'functest-kubernetes-ng-jobs'
35 current-parameters: true
38 name: functest-kubernetes-ng-slave
44 - functest-kubernetes-ng-build-containers: &functest-kubernetes-ng-build-containers
45 name: 'functest-kubernetes-ng-build-containers'
46 <<: *functest-kubernetes-ng-containers
49 buildargs: '{buildargs}'
53 name: functest-kubernetes-ng-build-containers
57 if [ "{repo}" = "_" ]; then
58 image={container}:{tag}
59 elif [ "{port}" = "None" ]; then
60 image={repo}/{container}:{tag}
62 image={repo}:{port}/{container}:{tag}
65 if [ "{buildargs}" != "None" ]; then
66 build_args="{buildargs}"
68 if [ "{ref_arg}" != "None" ]; then
69 build_args="$build_args --build-arg {ref_arg}={ref}"
72 if [ "{from}" != "None" ]; then
73 sed -i {from} Dockerfile
75 sudo docker build $build_args \
76 --pull=false --no-cache --force-rm=true \
80 name: functest-kubernetes-ng-scm
83 url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
84 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
88 - functest-kubernetes-ng-dep: &functest-kubernetes-ng-dep
89 name: 'functest-kubernetes-ng-containers'
93 dependency: '{dependency}'
96 name: functest-kubernetes-ng-pull-dep-images
100 if [ "_" = "_" ]; then
101 image=alpine:{dependency}
102 elif [ "None" = "None" ]; then
103 image=_/alpine:{dependency}
105 image=_:/alpine:{dependency}
107 sudo docker pull $image || true
110 name: functest-kubernetes-ng-remove-dep-images
114 if [ "_" = "_" ]; then
115 image=alpine:{dependency}
116 elif [ "" = "None" ]; then
117 image=_/alpine:{dependency}
119 image=_:/alpine:{dependency}
121 sudo docker rmi $image || true
124 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
126 - functest-kubernetes-ng-slave:
129 - functest-kubernetes-ng-pull-dep-images:
130 <<: *functest-kubernetes-ng-dep
133 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
134 <<: *functest-kubernetes-ng-params
136 - 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
139 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
141 - functest-kubernetes-ng-slave:
144 - functest-kubernetes-ng-remove-dep-images:
145 <<: *functest-kubernetes-ng-dep
148 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
149 <<: *functest-kubernetes-ng-params
151 - 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
154 name: functest-kubernetes-ng-push-containers
158 if [ "{repo}" = "_" ]; then
159 image={container}:{tag}
160 elif [ "{port}" = "None" ]; then
161 image={repo}/{container}:{tag}
163 image={repo}:{port}/{container}:{tag}
165 sudo docker push $image
168 name: functest-kubernetes-ng-commit
174 name: 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
176 - functest-kubernetes-ng-slave:
179 - functest-kubernetes-ng-scm:
182 - functest-kubernetes-ng-build-containers:
183 <<: *functest-kubernetes-ng-build-containers
185 buildargs: '{buildargs}'
186 - functest-kubernetes-ng-push-containers:
187 <<: *functest-kubernetes-ng-build-containers
191 name: functest-kubernetes-ng-opnfv-functest-kubernetes-core-{tag}-build
192 <<: *functest-kubernetes-ng-params
193 container: functest-kubernetes-core
197 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
200 name: functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-{tag}-build
201 <<: *functest-kubernetes-ng-params
202 container: functest-kubernetes-healthcheck
204 path: docker/healthcheck
206 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
209 name: functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-{tag}-build
210 <<: *functest-kubernetes-ng-params
211 container: functest-kubernetes-cnf
215 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
218 name: functest-kubernetes-ng-opnfv-functest-kubernetes-security-{tag}-build
219 <<: *functest-kubernetes-ng-params
220 container: functest-kubernetes-security
222 path: docker/security
224 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
227 name: functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-{tag}-build
228 <<: *functest-kubernetes-ng-params
229 container: functest-kubernetes-smoke
233 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
236 name: functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-{tag}-build
237 <<: *functest-kubernetes-ng-params
238 container: functest-kubernetes-benchmarking
240 path: docker/benchmarking
242 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
245 name: 'functest-kubernetes-ng-{tag}-docker'
246 project-type: multijob
248 - functest-kubernetes-ng-commit
250 - functest-kubernetes-ng-scm:
253 - functest-kubernetes-ng-slave:
255 # PyYAML and yamllint differ here
256 # see https://github.com/yaml/pyyaml/issues/234
257 # yamllint disable rule:indentation
261 - ^functest-kubernetes-ng-{tag}-(daily|docker|review)$
262 # yamllint enable rule:indentation
265 name: remove dependency
267 - name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
268 <<: *functest-kubernetes-ng-jobs
270 name: pull dependency
272 - name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
273 <<: *functest-kubernetes-ng-jobs
275 name: build opnfv/functest-kubernetes-core
277 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-core-{tag}-build'
278 <<: *functest-kubernetes-ng-jobs
280 name: build containers
282 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-{tag}-build'
283 <<: *functest-kubernetes-ng-jobs
284 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-{tag}-build'
285 <<: *functest-kubernetes-ng-jobs
286 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-security-{tag}-build'
287 <<: *functest-kubernetes-ng-jobs
289 name: build opnfv/functest-kubernetes-smoke
291 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-{tag}-build'
292 <<: *functest-kubernetes-ng-jobs
294 name: build opnfv/functest-kubernetes-benchmarking
296 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-{tag}-build'
297 <<: *functest-kubernetes-ng-jobs
300 name: functest-kubernetes-ng-trivy
303 sudo apt-get update && sudo apt-get install curl -y
305 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
306 if [ "{repo}" = "_" ]; then
307 image={container}:{tag}
308 elif [ "{port}" = "None" ]; then
309 image={repo}/{container}:{tag}
311 image={repo}:{port}/{container}:{tag}
313 ./trivy --exit-code 1 $image
316 name: 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
320 - functest-kubernetes-ng-slave:
323 - functest-kubernetes-ng-trivy:
324 <<: *functest-kubernetes-ng-containers
327 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-core-trivy'
328 <<: *functest-kubernetes-ng-params
329 container: 'functest-kubernetes-core'
331 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
334 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-trivy'
335 <<: *functest-kubernetes-ng-params
336 container: 'functest-kubernetes-healthcheck'
338 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
341 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-trivy'
342 <<: *functest-kubernetes-ng-params
343 container: 'functest-kubernetes-cnf'
345 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
348 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-security-trivy'
349 <<: *functest-kubernetes-ng-params
350 container: 'functest-kubernetes-security'
352 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
355 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-trivy'
356 <<: *functest-kubernetes-ng-params
357 container: 'functest-kubernetes-smoke'
359 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
362 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-trivy'
363 <<: *functest-kubernetes-ng-params
364 container: 'functest-kubernetes-benchmarking'
366 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
369 name: 'functest-kubernetes-ng'
370 <<: *functest-kubernetes-ng-params
372 - 'functest-kubernetes-ng-{tag}-docker'
375 name: functest-kubernetes-ng-docker
384 regex: ^functest-kubernetes-ng-[a-z0-9.]+-docker$
387 name: functest-kubernetes-ng-trivy
396 regex: ^functest-kubernetes-ng-[a-z0-9-.]+-trivy$