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