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