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