Merge "Create Stable Branch Jobs for doctor"
[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     jerma: &jerma
27       stream: jerma
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           mbeierl@vmware.com
39     other-receivers: &other-receivers
40       receivers: ''
41
42     dockerfile: "Dockerfile"
43     dockerdir: "docker"
44     docker_repo_name: "opnfv/{project}_aarch64"
45     arch_tag: ""
46     extra_build_args: ""
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       - 'storperf-workloadagent':
91           project: 'storperf'
92           dockerdir: 'docker/storperf-workloadagent'
93           docker_repo_name: 'opnfv/storperf-workloadagent'
94           arch_tag: 'aarch64'
95           <<: *master
96           <<: *storperf-arm-receivers
97
98       # projects with jobs for stable/euphrates
99       - 'dovetail':
100           project: 'dovetail'
101           <<: *euphrates
102           <<: *dovetail-arm-receivers
103
104       # projects with jobs for stable/iruya
105       - 'storperf-master':
106           project: 'storperf'
107           dockerdir: 'docker/storperf-master'
108           docker_repo_name: 'opnfv/storperf-master'
109           arch_tag: 'aarch64'
110           <<: *iruya
111           <<: *storperf-arm-receivers
112       - 'storperf-graphite':
113           project: 'storperf'
114           dockerdir: 'docker/storperf-graphite'
115           docker_repo_name: 'opnfv/storperf-graphite'
116           arch_tag: 'aarch64'
117           <<: *iruya
118           <<: *storperf-arm-receivers
119       - 'storperf-httpfrontend':
120           project: 'storperf'
121           dockerdir: 'docker/storperf-httpfrontend'
122           docker_repo_name: 'opnfv/storperf-httpfrontend'
123           arch_tag: 'aarch64'
124           <<: *iruya
125           <<: *storperf-arm-receivers
126       - 'storperf-reporting':
127           project: 'storperf'
128           dockerdir: 'docker/storperf-reporting'
129           docker_repo_name: 'opnfv/storperf-reporting'
130           arch_tag: 'aarch64'
131           <<: *iruya
132           <<: *storperf-arm-receivers
133       - 'storperf-swaggerui':
134           project: 'storperf'
135           dockerdir: 'docker/storperf-swaggerui'
136           docker_repo_name: 'opnfv/storperf-swaggerui'
137           arch_tag: 'aarch64'
138           <<: *iruya
139           <<: *storperf-arm-receivers
140       - 'storperf-workloadagent':
141           project: 'storperf'
142           dockerdir: 'docker/storperf-workloadagent'
143           docker_repo_name: 'opnfv/storperf-workloadagent'
144           arch_tag: 'aarch64'
145           <<: *iruya
146           <<: *storperf-arm-receivers
147
148     # yamllint enable rule:key-duplicates
149     jobs:
150       - '{dockerrepo}-docker-build-arm-push-{stream}'
151
152 ########################
153 # job templates
154 ########################
155 - job-template:
156     name: '{dockerrepo}-docker-build-arm-push-{stream}'
157
158     disabled: '{obj:disabled}'
159
160     parameters: &parameters
161       - project-parameter:
162           project: '{project}'
163           branch: '{branch}'
164       - 'opnfv-build-ubuntu-arm-defaults'
165       - string:
166           name: PUSH_IMAGE
167           default: "true"
168           description: "To enable/disable pushing the image to Dockerhub."
169       - string:
170           name: DOCKER_REPO_NAME
171           default: "{docker_repo_name}"
172           description: "Dockerhub repo to be pushed to."
173       - string:
174           name: GERRIT_REFNAME
175           default: ""
176           description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
177       - string:
178           name: DOCKER_DIR
179           default: "{dockerdir}"
180           description: "Directory containing files needed by the Dockerfile"
181       - string:
182           name: DOCKERFILE
183           default: "{dockerfile}"
184           description: "Dockerfile to use for creating the image."
185       - string:
186           name: ARCH_TAG
187           default: "{arch_tag}"
188           description: "If set, this value will be added to the docker image tag"
189       - string:
190           name: EXTRA_BUILD_ARGS
191           default: "{extra_build_args}"
192           description: "Whitespace separated key=value pairs. If set, these args will be used to build docker image"
193
194     properties:
195       - throttle:
196           max-per-node: 1
197           option: 'project'
198
199     scm:
200       - git-scm
201
202     builders: &builders
203       - shell:
204           !include-raw-escape: ./opnfv-docker.sh
205
206     triggers:
207       - pollscm:
208           cron: "*/30 * * * *"
209       - gerrit-trigger-tag-created:
210           project: '{project}'
211
212     publishers:
213       - email:
214           recipients: '{receivers}'
215       - email-jenkins-admins-on-failure