StorPerf Workload Agent
[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       - 'storperf-master':
117           project: 'storperf'
118           dockerdir: 'docker/storperf-master'
119           docker_repo_name: 'opnfv/storperf-master'
120           arch_tag: 'aarch64'
121           <<: *iruya
122           <<: *storperf-arm-receivers
123       - 'storperf-graphite':
124           project: 'storperf'
125           dockerdir: 'docker/storperf-graphite'
126           docker_repo_name: 'opnfv/storperf-graphite'
127           arch_tag: 'aarch64'
128           <<: *iruya
129           <<: *storperf-arm-receivers
130       - 'storperf-httpfrontend':
131           project: 'storperf'
132           dockerdir: 'docker/storperf-httpfrontend'
133           docker_repo_name: 'opnfv/storperf-httpfrontend'
134           arch_tag: 'aarch64'
135           <<: *iruya
136           <<: *storperf-arm-receivers
137       - 'storperf-reporting':
138           project: 'storperf'
139           dockerdir: 'docker/storperf-reporting'
140           docker_repo_name: 'opnfv/storperf-reporting'
141           arch_tag: 'aarch64'
142           <<: *iruya
143           <<: *storperf-arm-receivers
144       - 'storperf-swaggerui':
145           project: 'storperf'
146           dockerdir: 'docker/storperf-swaggerui'
147           docker_repo_name: 'opnfv/storperf-swaggerui'
148           arch_tag: 'aarch64'
149           <<: *iruya
150           <<: *storperf-arm-receivers
151       - 'storperf-workloadagent':
152           project: 'storperf'
153           dockerdir: 'docker/storperf-workloadagent'
154           docker_repo_name: 'opnfv/storperf-workloadagent'
155           arch_tag: 'aarch64'
156           <<: *iruya
157           <<: *storperf-arm-receivers
158
159     # yamllint enable rule:key-duplicates
160     jobs:
161       - '{dockerrepo}-docker-build-arm-push-{stream}'
162
163 ########################
164 # job templates
165 ########################
166 - job-template:
167     name: '{dockerrepo}-docker-build-arm-push-{stream}'
168
169     disabled: '{obj:disabled}'
170
171     parameters: &parameters
172       - project-parameter:
173           project: '{project}'
174           branch: '{branch}'
175       - 'opnfv-build-ubuntu-arm-defaults'
176       - string:
177           name: PUSH_IMAGE
178           default: "true"
179           description: "To enable/disable pushing the image to Dockerhub."
180       - string:
181           name: DOCKER_REPO_NAME
182           default: "{docker_repo_name}"
183           description: "Dockerhub repo to be pushed to."
184       - string:
185           name: GERRIT_REFNAME
186           default: ""
187           description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
188       - string:
189           name: DOCKER_DIR
190           default: "{dockerdir}"
191           description: "Directory containing files needed by the Dockerfile"
192       - string:
193           name: DOCKERFILE
194           default: "{dockerfile}"
195           description: "Dockerfile to use for creating the image."
196       - string:
197           name: ARCH_TAG
198           default: "{arch_tag}"
199           description: "If set, this value will be added to the docker image tag"
200       - string:
201           name: EXTRA_BUILD_ARGS
202           default: "{extra_build_args}"
203           description: "Whitespace separated key=value pairs. If set, these args will be used to build docker image"
204
205     properties:
206       - throttle:
207           max-per-node: 1
208           option: 'project'
209
210     scm:
211       - git-scm
212
213     builders: &builders
214       - shell:
215           !include-raw-escape: ./opnfv-docker.sh
216
217     triggers:
218       - pollscm:
219           cron: "*/30 * * * *"
220       - gerrit-trigger-tag-created:
221           project: '{project}'
222
223     publishers:
224       - email:
225           recipients: '{receivers}'
226       - email-jenkins-admins-on-failure