Add ARM Gambia for StorPerf
[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     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     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           mark.beierl@emc.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
48     # yamllint disable rule:key-duplicates
49     dockerrepo:
50       # projects with jobs for master
51       - 'dovetail':
52           project: 'dovetail'
53           <<: *master
54           <<: *dovetail-arm-receivers
55       - 'storperf-master':
56           project: 'storperf'
57           dockerdir: 'docker/storperf-master'
58           docker_repo_name: 'opnfv/storperf-master'
59           arch_tag: 'aarch64'
60           <<: *master
61           <<: *storperf-arm-receivers
62       - 'storperf-graphite':
63           project: 'storperf'
64           dockerdir: 'docker/storperf-graphite'
65           docker_repo_name: 'opnfv/storperf-graphite'
66           arch_tag: 'aarch64'
67           <<: *master
68           <<: *storperf-arm-receivers
69       - 'storperf-httpfrontend':
70           project: 'storperf'
71           dockerdir: 'docker/storperf-httpfrontend'
72           docker_repo_name: 'opnfv/storperf-httpfrontend'
73           arch_tag: 'aarch64'
74           <<: *master
75           <<: *storperf-arm-receivers
76       - 'storperf-reporting':
77           project: 'storperf'
78           dockerdir: 'docker/storperf-reporting'
79           docker_repo_name: 'opnfv/storperf-reporting'
80           arch_tag: 'aarch64'
81           <<: *master
82           <<: *storperf-arm-receivers
83       - 'storperf-swaggerui':
84           project: 'storperf'
85           dockerdir: 'docker/storperf-swaggerui'
86           docker_repo_name: 'opnfv/storperf-swaggerui'
87           arch_tag: 'aarch64'
88           <<: *master
89           <<: *storperf-arm-receivers
90       - 'yardstick':
91           project: 'yardstick'
92           <<: *master
93           <<: *yardstick-arm-receivers
94       # projects with jobs for stable/euphrates
95       - 'dovetail':
96           project: 'dovetail'
97           <<: *euphrates
98           <<: *dovetail-arm-receivers
99       - 'storperf-master':
100           project: 'storperf'
101           dockerdir: 'docker/storperf-master'
102           docker_repo_name: 'opnfv/storperf-master'
103           arch_tag: 'aarch64'
104           <<: *gambia
105           <<: *storperf-arm-receivers
106       - 'storperf-graphite':
107           project: 'storperf'
108           dockerdir: 'docker/storperf-graphite'
109           docker_repo_name: 'opnfv/storperf-graphite'
110           arch_tag: 'aarch64'
111           <<: *gambia
112           <<: *storperf-arm-receivers
113       - 'storperf-httpfrontend':
114           project: 'storperf'
115           dockerdir: 'docker/storperf-httpfrontend'
116           docker_repo_name: 'opnfv/storperf-httpfrontend'
117           arch_tag: 'aarch64'
118           <<: *gambia
119           <<: *storperf-arm-receivers
120       - 'storperf-reporting':
121           project: 'storperf'
122           dockerdir: 'docker/storperf-reporting'
123           docker_repo_name: 'opnfv/storperf-reporting'
124           arch_tag: 'aarch64'
125           <<: *gambia
126           <<: *storperf-arm-receivers
127       - 'storperf-swaggerui':
128           project: 'storperf'
129           dockerdir: 'docker/storperf-swaggerui'
130           docker_repo_name: 'opnfv/storperf-swaggerui'
131           arch_tag: 'aarch64'
132           <<: *gambia
133           <<: *storperf-arm-receivers
134       - 'yardstick':
135           project: 'yardstick'
136           <<: *gambia
137           <<: *yardstick-arm-receivers
138
139     # yamllint enable rule:key-duplicates
140     jobs:
141       - '{dockerrepo}-docker-build-arm-push-{stream}'
142
143 ########################
144 # job templates
145 ########################
146 - job-template:
147     name: '{dockerrepo}-docker-build-arm-push-{stream}'
148
149     disabled: '{obj:disabled}'
150
151     parameters: &parameters
152       - project-parameter:
153           project: '{project}'
154           branch: '{branch}'
155       - 'opnfv-build-ubuntu-arm-defaults'
156       - string:
157           name: PUSH_IMAGE
158           default: "true"
159           description: "To enable/disable pushing the image to Dockerhub."
160       - string:
161           name: DOCKER_REPO_NAME
162           default: "{docker_repo_name}"
163           description: "Dockerhub repo to be pushed to."
164       - string:
165           name: GERRIT_REFNAME
166           default: ""
167           description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
168       - string:
169           name: DOCKER_DIR
170           default: "{dockerdir}"
171           description: "Directory containing files needed by the Dockerfile"
172       - string:
173           name: DOCKERFILE
174           default: "{dockerfile}"
175           description: "Dockerfile to use for creating the image."
176       - string:
177           name: ARCH_TAG
178           default: "{arch_tag}"
179           description: "If set, this value will be added to the docker image tag"
180
181     properties:
182       - throttle:
183           max-per-node: 1
184           option: 'project'
185
186     scm:
187       - git-scm
188
189     builders: &builders
190       - shell:
191           !include-raw-escape: ./opnfv-docker.sh
192
193     triggers:
194       - pollscm:
195           cron: "*/30 * * * *"
196       - gerrit-trigger-tag-created:
197           project: '{project}'
198
199     publishers:
200       - email:
201           recipients: '{receivers}'
202       - email-jenkins-admins-on-failure