Merge "Make node more explicit"
[releng.git] / jjb / functest / xtesting-ci-docker.yaml
1 ---
2 - builder:
3     name: xtesting-ci-docker-builder
4     builders:
5       - shell: |
6           cd {dir}
7           sudo docker build --pull -t {image} .
8           sudo docker push {image}
9           sudo docker system prune --all -f
10
11 - builder:
12     name: xtesting-ci-docker-multiarch-builder
13     builders:
14       - shell: |
15           sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
16           git clone https://github.com/estesp/manifest-tool
17           (cd manifest-tool && git checkout v0.9.0 && \
18             sudo -E make && sudo -E make install)
19           (cd {dir} && \
20             sudo docker build --pull -t {image}:amd64-{tag} . && \
21             sudo docker push {image}:amd64-{tag})
22           (cd {dir} && \
23             git checkout Dockerfile
24             sed -i -e "s|{from_amd64}|{to_arm64}|g" Dockerfile
25             sudo docker build --pull -t {image}:arm64-{tag} . && \
26             sudo docker push {image}:arm64-{tag})
27           (cd {dir} && \
28             git checkout Dockerfile
29             sed -i -e "s|{from_amd64}|{to_arm}|g" Dockerfile
30             sudo docker build --pull -t {image}:arm-{tag} . && \
31             sudo docker push {image}:arm-{tag})
32           sudo manifest-tool push from-args \
33             --platforms linux/amd64,linux/arm,linux/arm64 \
34             --template {image}:ARCH-{tag} \
35             --target {image}:{tag}
36           sudo docker system prune --all -f
37
38 - scm:
39     name: xtesting-ci-docker-scm
40     scm:
41       - git:
42           url: https://github.com/collivier/xtesting-docker.git
43           git-config-name:
44           git-config-email:
45
46 - trigger:
47     name: xtesting-ci-docker-trigger
48     triggers:
49       - pollscm:
50           cron: "H/30 * * * *"
51       - timed: '@daily'
52
53 - parameter:
54     name: xtesting-ci-docker-parameter
55     parameters:
56       - label:
57           name: node
58           default: 'xtesting'
59
60 - job-template:
61     name: xtesting-ci-docker-{stream}
62     scm:
63       - xtesting-ci-docker-scm
64     parameters:
65       - xtesting-ci-docker-parameter
66     triggers:
67       - xtesting-ci-docker-trigger
68     builders:
69       - xtesting-ci-docker-builder:
70           image: '{image}'
71           dir: '{dir}'
72
73 - job-template:
74     name: xtesting-ci-docker-multitarch-{stream}
75     scm:
76       - xtesting-ci-docker-scm
77     parameters:
78       - xtesting-ci-docker-parameter
79     triggers:
80       - xtesting-ci-docker-trigger
81     builders:
82       - xtesting-ci-docker-multiarch-builder:
83           image: '{image}'
84           dir: '{dir}'
85           tag: '{tag}'
86           from_amd64: '{from_amd64}'
87           to_arm64: '{to_arm64}'
88           to_arm: '{to_arm}'
89
90 - project:
91     name: xtesting-ci-docker
92     stream:
93       - jenkins-lts-slim:
94           dir: jenkins.debian
95           image: opnfv/xtesting-jenkins:lts-slim
96       - jenkins-lts-alpine:
97           dir: jenkins
98           image: opnfv/xtesting-jenkins:lts-alpine
99       - s3www-v0.5.3:
100           dir: s3www
101           image: opnfv/xtesting-s3www:v0.5.3
102     jobs:
103       - xtesting-ci-docker-{stream}
104
105 - project:
106     name: xtesting-ci-docker-multiarch
107     stream:
108       - jenkins-agent-debian:
109           dir: jenkins-agent
110           image: opnfv/xtesting-jenkins-agent
111           tag: 4.9-bullseye
112           from_amd64: debian:bullseye
113           to_arm64: arm64v8/debian:bullseye
114           to_arm: arm32v7/debian:bullseye
115       - jenkins-agent-ubuntu:
116           dir: jenkins-agent-ubuntu
117           image: opnfv/xtesting-jenkins-agent
118           tag: 4.9-jammy
119           from_amd64: ubuntu:jammy
120           to_arm64: arm64v8/ubuntu:jammy
121           to_arm: arm32v7/ubuntu:jammy
122       - jenkins-agent-auto:
123           dir: jenkins-agent-auto
124           image: opnfv/xtesting-jenkins-agent-auto
125           tag: 4.9-bullseye
126           from_amd64: opnfv/xtesting-jenkins-agent:4.9-bullseye
127           to_arm64: opnfv/xtesting-jenkins-agent:arm64-4.9-bullseye
128           to_arm: opnfv/xtesting-jenkins-agent:arm-4.9-bullseye
129     jobs:
130       - xtesting-ci-docker-multitarch-{stream}
131
132 - builder:
133     name: xtesting-ci-docker-trivy-builder
134     builders:
135       - shell: |
136           curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
137           ./trivy image --exit-code 1 {image}
138
139 - trigger:
140     name: xtesting-ci-docker-trivy-trigger
141     triggers:
142       - timed: '@daily'
143
144 - parameter:
145     name: xtesting-ci-docker-trivy-parameter
146     parameters:
147       - label:
148           name: node
149           default: 'xtesting'
150
151 - job-template:
152     name: 'xtesting-ci-docker-trivy-{stream}'
153     triggers:
154       - xtesting-ci-docker-trivy-trigger
155     parameters:
156       - xtesting-ci-docker-trivy-parameter
157     builders:
158       - xtesting-ci-docker-trivy-builder:
159           image: '{image}'
160
161 - project:
162     name: 'xtesting-ci-docker-trivy'
163     stream:
164       - jenkins-lts-slim:
165           image: opnfv/xtesting-jenkins:lts-slim
166       - jenkins-lts-alpine:
167           image: opnfv/xtesting-jenkins:lts-alpine
168       - s3www-v0.5.3:
169           image: opnfv/xtesting-s3www:v0.5.3
170       - xtesting-jenkins-agent-4.9-bullseye:
171           image: opnfv/xtesting-jenkins-agent:4.9-bullseye
172       - xtesting-jenkins-agent-4.9-jammy:
173           image: opnfv/xtesting-jenkins-agent:4.9-jammy
174       - xtesting-jenkins-agent-auto-4.9-bullseye:
175           image: opnfv/xtesting-jenkins-agent-auto:4.9-bullseye
176     jobs:
177       - 'xtesting-ci-docker-trivy-{stream}'
178
179 - view:
180     name: xtesting-ci-docker
181     view-type: list
182     columns:
183       - status
184       - weather
185       - job
186       - last-success
187       - last-failure
188       - last-duration
189     regex: ^xtesting-ci-docker.*$