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