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