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: {'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 for i in $(eval echo {buildargs} | tr -d '[]' |sed "s/, / /g" ); \
67 do build_args="--build-arg $i $build_args"; done
69 if [ "{ref_arg}" != "None" ]; then
70 build_args="$build_args --build-arg {ref_arg}={ref}"
73 if [ "{from}" != "None" ]; then
74 sed -i {from} Dockerfile
76 sudo docker build $build_args \
77 --pull=false --no-cache --force-rm=true \
81 name: functest-kubernetes-ng-scm
84 url: 'https://gerrit.opnfv.org/gerrit/functest-kubernetes'
85 refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
89 - functest-kubernetes-ng-dep: &functest-kubernetes-ng-dep
90 name: 'functest-kubernetes-ng-containers'
94 dependency: '{dependency}'
97 name: functest-kubernetes-ng-pull-dep-images
101 if [ "_" = "_" ]; then
102 image=alpine:{dependency}
103 elif [ "None" = "None" ]; then
104 image=_/alpine:{dependency}
106 image=_:/alpine:{dependency}
108 sudo docker pull $image || true
111 name: functest-kubernetes-ng-remove-dep-images
115 if [ "_" = "_" ]; then
116 image=alpine:{dependency}
117 elif [ "" = "None" ]; then
118 image=_/alpine:{dependency}
120 image=_:/alpine:{dependency}
122 sudo docker rmi $image || true
125 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
127 - functest-kubernetes-ng-slave:
130 - functest-kubernetes-ng-pull-dep-images:
131 <<: *functest-kubernetes-ng-dep
134 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
135 <<: *functest-kubernetes-ng-params
137 - 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
140 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
142 - functest-kubernetes-ng-slave:
145 - functest-kubernetes-ng-remove-dep-images:
146 <<: *functest-kubernetes-ng-dep
149 name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
150 <<: *functest-kubernetes-ng-params
152 - 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
155 name: functest-kubernetes-ng-push-containers
159 if [ "{repo}" = "_" ]; then
160 image={container}:{tag}
161 elif [ "{port}" = "None" ]; then
162 image={repo}/{container}:{tag}
164 image={repo}:{port}/{container}:{tag}
166 sudo docker push $image
169 name: functest-kubernetes-ng-commit
175 name: 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
177 - functest-kubernetes-ng-slave:
180 - functest-kubernetes-ng-scm:
183 - functest-kubernetes-ng-build-containers:
184 <<: *functest-kubernetes-ng-build-containers
186 buildargs: '{buildargs}'
187 - functest-kubernetes-ng-push-containers:
188 <<: *functest-kubernetes-ng-build-containers
192 name: functest-kubernetes-ng-opnfv-functest-kubernetes-core-{tag}-build
193 <<: *functest-kubernetes-ng-params
194 container: functest-kubernetes-core
198 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
201 name: functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-{tag}-build
202 <<: *functest-kubernetes-ng-params
203 container: functest-kubernetes-healthcheck
205 path: docker/healthcheck
207 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
210 name: functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-{tag}-build
211 <<: *functest-kubernetes-ng-params
212 container: functest-kubernetes-cnf
216 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
219 name: functest-kubernetes-ng-opnfv-functest-kubernetes-security-{tag}-build
220 <<: *functest-kubernetes-ng-params
221 container: functest-kubernetes-security
223 path: docker/security
225 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
228 name: functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-{tag}-build
229 <<: *functest-kubernetes-ng-params
230 container: functest-kubernetes-smoke
234 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
237 name: functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-{tag}-build
238 <<: *functest-kubernetes-ng-params
239 container: functest-kubernetes-benchmarking
241 path: docker/benchmarking
243 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-build'
246 name: 'functest-kubernetes-ng-{tag}-docker'
247 project-type: multijob
249 - functest-kubernetes-ng-commit
251 - functest-kubernetes-ng-scm:
254 - functest-kubernetes-ng-slave:
256 # PyYAML and yamllint differ here
257 # see https://github.com/yaml/pyyaml/issues/234
258 # yamllint disable rule:indentation
262 - ^functest-kubernetes-ng-{tag}-(daily|docker|review)$
263 # yamllint enable rule:indentation
266 name: remove dependency
268 - name: 'functest-kubernetes-ng-{repo}-{tag}-dep-rmi'
269 <<: *functest-kubernetes-ng-jobs
271 name: pull dependency
273 - name: 'functest-kubernetes-ng-{repo}-{tag}-dep-pull'
274 <<: *functest-kubernetes-ng-jobs
276 name: build opnfv/functest-kubernetes-core
278 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-core-{tag}-build'
279 <<: *functest-kubernetes-ng-jobs
281 name: build containers
283 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-{tag}-build'
284 <<: *functest-kubernetes-ng-jobs
285 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-{tag}-build'
286 <<: *functest-kubernetes-ng-jobs
287 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-security-{tag}-build'
288 <<: *functest-kubernetes-ng-jobs
290 name: build opnfv/functest-kubernetes-smoke
292 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-{tag}-build'
293 <<: *functest-kubernetes-ng-jobs
295 name: build opnfv/functest-kubernetes-benchmarking
297 - name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-{tag}-build'
298 <<: *functest-kubernetes-ng-jobs
301 name: functest-kubernetes-ng-trivy
304 sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive \
305 apt-get install curl -y
307 curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
308 if [ "{repo}" = "_" ]; then
309 image={container}:{tag}
310 elif [ "{port}" = "None" ]; then
311 image={repo}/{container}:{tag}
313 image={repo}:{port}/{container}:{tag}
315 ./trivy --exit-code 1 $image
318 name: 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
322 - functest-kubernetes-ng-slave:
325 - functest-kubernetes-ng-trivy:
326 <<: *functest-kubernetes-ng-containers
329 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-core-trivy'
330 <<: *functest-kubernetes-ng-params
331 container: 'functest-kubernetes-core'
333 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
336 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-healthcheck-trivy'
337 <<: *functest-kubernetes-ng-params
338 container: 'functest-kubernetes-healthcheck'
340 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
343 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-cnf-trivy'
344 <<: *functest-kubernetes-ng-params
345 container: 'functest-kubernetes-cnf'
347 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
350 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-security-trivy'
351 <<: *functest-kubernetes-ng-params
352 container: 'functest-kubernetes-security'
354 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
357 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-smoke-trivy'
358 <<: *functest-kubernetes-ng-params
359 container: 'functest-kubernetes-smoke'
361 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
364 name: 'functest-kubernetes-ng-opnfv-functest-kubernetes-benchmarking-trivy'
365 <<: *functest-kubernetes-ng-params
366 container: 'functest-kubernetes-benchmarking'
368 - 'functest-kubernetes-ng-{repo}-{container}-{tag}-trivy'
371 name: 'functest-kubernetes-ng'
372 <<: *functest-kubernetes-ng-params
374 - 'functest-kubernetes-ng-{tag}-docker'
377 name: functest-kubernetes-ng-docker
386 regex: ^functest-kubernetes-ng-[a-z0-9.]+-docker$
389 name: functest-kubernetes-ng-trivy
398 regex: ^functest-kubernetes-ng-[a-z0-9-.]+-trivy$