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