Merge "Update Alpine to 3.11 in Functest jobs"
[releng.git] / jjb / releng / opnfv-docker-arm.yaml
1 ---
2 ##############################################
3 # job configuration for docker build and push
4 ##############################################
5
6 - project:
7
8     name: opnfv-docker-arm
9
10     master: &master
11       stream: master
12       branch: '{stream}'
13       disabled: false
14     euphrates: &euphrates
15       stream: euphrates
16       branch: 'stable/{stream}'
17       disabled: false
18     hunter: &hunter
19       stream: hunter
20       branch: 'stable/{stream}'
21       disabled: false
22     iruya: &iruya
23       stream: iruya
24       branch: 'stable/{stream}'
25       disabled: false
26     dovetail-arm-receivers: &dovetail-arm-receivers
27       receivers: >
28           cristina.pauna@enea.com
29           alexandru.avadanii@enea.com
30     storperf-arm-receivers: &storperf-arm-receivers
31       receivers: >
32           cristina.pauna@enea.com
33           alexandru.avadanii@enea.com
34           mbeierl@vmware.com
35     yardstick-arm-receivers: &yardstick-arm-receivers
36       receivers: >
37           cristina.pauna@enea.com
38           alexandru.avadanii@enea.com
39           delia.popescu@enea.com
40     other-receivers: &other-receivers
41       receivers: ''
42
43     dockerfile: "Dockerfile"
44     dockerdir: "docker"
45     docker_repo_name: "opnfv/{project}_aarch64"
46     arch_tag: ""
47     extra_build_args: ""
48
49     # yamllint disable rule:key-duplicates
50     dockerrepo:
51       # projects with jobs for master
52       - 'dovetail':
53           project: 'dovetail'
54           <<: *master
55           <<: *dovetail-arm-receivers
56       - 'storperf-master':
57           project: 'storperf'
58           dockerdir: 'docker/storperf-master'
59           docker_repo_name: 'opnfv/storperf-master'
60           arch_tag: 'aarch64'
61           <<: *master
62           <<: *storperf-arm-receivers
63       - 'storperf-graphite':
64           project: 'storperf'
65           dockerdir: 'docker/storperf-graphite'
66           docker_repo_name: 'opnfv/storperf-graphite'
67           arch_tag: 'aarch64'
68           <<: *master
69           <<: *storperf-arm-receivers
70       - 'storperf-httpfrontend':
71           project: 'storperf'
72           dockerdir: 'docker/storperf-httpfrontend'
73           docker_repo_name: 'opnfv/storperf-httpfrontend'
74           arch_tag: 'aarch64'
75           <<: *master
76           <<: *storperf-arm-receivers
77       - 'storperf-reporting':
78           project: 'storperf'
79           dockerdir: 'docker/storperf-reporting'
80           docker_repo_name: 'opnfv/storperf-reporting'
81           arch_tag: 'aarch64'
82           <<: *master
83           <<: *storperf-arm-receivers
84       - 'storperf-swaggerui':
85           project: 'storperf'
86           dockerdir: 'docker/storperf-swaggerui'
87           docker_repo_name: 'opnfv/storperf-swaggerui'
88           arch_tag: 'aarch64'
89           <<: *master
90           <<: *storperf-arm-receivers
91       - 'storperf-workloadagent':
92           project: 'storperf'
93           dockerdir: 'docker/storperf-workloadagent'
94           docker_repo_name: 'opnfv/storperf-workloadagent'
95           arch_tag: 'aarch64'
96           <<: *master
97           <<: *storperf-arm-receivers
98       - 'yardstick':
99           project: 'yardstick'
100           <<: *master
101           <<: *yardstick-arm-receivers
102
103       # projects with jobs for stable/euphrates
104       - 'dovetail':
105           project: 'dovetail'
106           <<: *euphrates
107           <<: *dovetail-arm-receivers
108
109       # projects with jobs for stable/hunter
110       - 'yardstick':
111           project: 'yardstick'
112           <<: *hunter
113           <<: *yardstick-arm-receivers
114
115       # projects with jobs for stable/iruya
116       - 'yardstick':
117           project: 'yardstick'
118           <<: *iruya
119           <<: *yardstick-arm-receivers
120       - 'storperf-master':
121           project: 'storperf'
122           dockerdir: 'docker/storperf-master'
123           docker_repo_name: 'opnfv/storperf-master'
124           arch_tag: 'aarch64'
125           <<: *iruya
126           <<: *storperf-arm-receivers
127       - 'storperf-graphite':
128           project: 'storperf'
129           dockerdir: 'docker/storperf-graphite'
130           docker_repo_name: 'opnfv/storperf-graphite'
131           arch_tag: 'aarch64'
132           <<: *iruya
133           <<: *storperf-arm-receivers
134       - 'storperf-httpfrontend':
135           project: 'storperf'
136           dockerdir: 'docker/storperf-httpfrontend'
137           docker_repo_name: 'opnfv/storperf-httpfrontend'
138           arch_tag: 'aarch64'
139           <<: *iruya
140           <<: *storperf-arm-receivers
141       - 'storperf-reporting':
142           project: 'storperf'
143           dockerdir: 'docker/storperf-reporting'
144           docker_repo_name: 'opnfv/storperf-reporting'
145           arch_tag: 'aarch64'
146           <<: *iruya
147           <<: *storperf-arm-receivers
148       - 'storperf-swaggerui':
149           project: 'storperf'
150           dockerdir: 'docker/storperf-swaggerui'
151           docker_repo_name: 'opnfv/storperf-swaggerui'
152           arch_tag: 'aarch64'
153           <<: *iruya
154           <<: *storperf-arm-receivers
155       - 'storperf-workloadagent':
156           project: 'storperf'
157           dockerdir: 'docker/storperf-workloadagent'
158           docker_repo_name: 'opnfv/storperf-workloadagent'
159           arch_tag: 'aarch64'
160           <<: *iruya
161           <<: *storperf-arm-receivers
162
163     # yamllint enable rule:key-duplicates
164     jobs:
165       - '{dockerrepo}-docker-build-arm-push-{stream}'
166
167 ########################
168 # job templates
169 ########################
170 - job-template:
171     name: '{dockerrepo}-docker-build-arm-push-{stream}'
172
173     disabled: '{obj:disabled}'
174
175     parameters: &parameters
176       - project-parameter:
177           project: '{project}'
178           branch: '{branch}'
179       - 'opnfv-build-ubuntu-arm-defaults'
180       - string:
181           name: PUSH_IMAGE
182           default: "true"
183           description: "To enable/disable pushing the image to Dockerhub."
184       - string:
185           name: DOCKER_REPO_NAME
186           default: "{docker_repo_name}"
187           description: "Dockerhub repo to be pushed to."
188       - string:
189           name: GERRIT_REFNAME
190           default: ""
191           description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
192       - string:
193           name: DOCKER_DIR
194           default: "{dockerdir}"
195           description: "Directory containing files needed by the Dockerfile"
196       - string:
197           name: DOCKERFILE
198           default: "{dockerfile}"
199           description: "Dockerfile to use for creating the image."
200       - string:
201           name: ARCH_TAG
202           default: "{arch_tag}"
203           description: "If set, this value will be added to the docker image tag"
204       - string:
205           name: EXTRA_BUILD_ARGS
206           default: "{extra_build_args}"
207           description: "Whitespace separated key=value pairs. If set, these args will be used to build docker image"
208
209     properties:
210       - throttle:
211           max-per-node: 1
212           option: 'project'
213
214     scm:
215       - git-scm
216
217     builders: &builders
218       - shell:
219           !include-raw-escape: ./opnfv-docker.sh
220
221     triggers:
222       - pollscm:
223           cron: "*/30 * * * *"
224       - gerrit-trigger-tag-created:
225           project: '{project}'
226
227     publishers:
228       - email:
229           recipients: '{receivers}'
230       - email-jenkins-admins-on-failure