Merge "Make the os services easier to follow"
[releng/builder.git] / jjb / packaging / packaging.yaml
1 ---
2 - project:
3     name: packaging
4     project-name: packaging
5
6     jobs:
7       - '{project-name}-verify-tox-master'
8       - 'packaging-build-rpm-{stream}'
9       - 'packaging-build-rpm-snap-{stream}'
10       - 'packaging-build-deb-{stream}'
11       - 'packaging-test-rpm-master'
12       - 'packaging-test-rpm-upgrade-master'
13       - 'packaging-test-deb-master'
14
15     project: 'integration/packaging'
16
17     stream:
18       - boron
19       - carbon
20       - nitrogen
21       - oxygen
22     branch: 'master'
23
24     # common parameters required for 'lf-infra-deploy-maven-file' builder
25     group-id: 'org.opendaylight.integration-packaging'
26     upload-files-dir: '$WORKSPACE/upload_files'
27     maven-repo-url: '$NEXUS_URL/content/repositories/$REPO_ID'
28
29 - job-template:
30     name: 'packaging-build-rpm-{stream}'
31
32     node: centos7-java-builder-2c-4g
33
34     project-type: freestyle
35
36     mvn-opts: ''
37     mvn-params: ''
38     mvn-version: mvn33
39
40     properties:
41       - opendaylight-infra-properties:
42           build-days-to-keep: 7
43
44     parameters:
45       - opendaylight-infra-parameters:
46           os-cloud: '{os-cloud}'
47           project: '{project}'
48           branch: '{branch}'
49           refspec: 'refs/heads/{branch}'
50           artifacts: '{archive-artifacts}'
51       - lf-infra-maven-parameters:
52           mvn-opts: '{mvn-opts}'
53           mvn-params: '{mvn-params}'
54           mvn-version: '{mvn-version}'
55           staging-profile-id: ''
56       - string:
57           name: DOWNLOAD_URL
58           # yamllint disable-line rule:line-length
59           default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.tar.gz'
60           description: 'URL to ODL tarball artifact to repackage into RPM'
61       - string:
62           name: CHANGELOG_NAME
63           default: 'Jenkins'
64           description: 'Name of person who defined RPM'
65       - string:
66           name: CHANGELOG_EMAIL
67           default: 'jenkins-donotreply@opendaylight.org'
68           description: 'Email of person who defined RPM'
69
70     scm:
71       - integration-gerrit-scm:
72           basedir: 'packaging'
73           refspec: '$GERRIT_REFSPEC'
74           branch: 'master'
75
76     wrappers:
77       - opendaylight-infra-wrappers:
78           build-timeout: '{build-timeout}'
79
80     builders:
81       - shell: !include-raw: build-rpm.sh
82       - lf-infra-deploy-maven-file:
83           global-settings-file: 'global-settings'
84           settings-file: 'packaging-settings'
85           mvn-version: '{mvn-version}'
86           repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
87           group-id: '{group-id}'
88           upload-files-dir: '{upload-files-dir}'
89           maven-repo-url: '{maven-repo-url}'
90
91     triggers:
92       - gerrit:
93           server-name: '{server-name}'
94           trigger-on:
95             - comment-added-contains-event:
96                 comment-contains-value: 'build-rpm-direct'
97           projects:
98             - project-compare-type: ANT
99               project-pattern: '{project}'
100               branches:
101                 - branch-compare-type: ANT
102                   branch-pattern: '**/{branch}'
103               file-paths:
104                 - compare-type: ANT
105                   pattern: 'pacakges/**'
106
107     publishers:
108       - lf-infra-publish
109
110
111 - job-template:
112     name: 'packaging-build-rpm-snap-{stream}'
113
114     node: centos7-java-builder-2c-4g
115
116     project-type: freestyle
117
118     mvn-opts: ''
119     mvn-params: ''
120     mvn-version: mvn33
121
122     properties:
123       - opendaylight-infra-properties:
124           build-days-to-keep: 7
125
126     parameters:
127       - opendaylight-infra-parameters:
128           os-cloud: '{os-cloud}'
129           project: '{project}'
130           branch: '{branch}'
131           refspec: 'refs/heads/{branch}'
132           artifacts: '{archive-artifacts}'
133       - lf-infra-maven-parameters:
134           mvn-opts: '{mvn-opts}'
135           mvn-params: '{mvn-params}'
136           mvn-version: '{mvn-version}'
137           staging-profile-id: ''
138       - string:
139           name: CHANGELOG_NAME
140           default: 'Jenkins'
141           description: 'Name of person who defined RPM'
142       - string:
143           name: CHANGELOG_EMAIL
144           default: 'jenkins-donotreply@opendaylight.org'
145           description: 'Email of person who defined RPM'
146
147     scm:
148       - integration-gerrit-scm:
149           basedir: 'packaging'
150           refspec: '$GERRIT_REFSPEC'
151           branch: 'master'
152
153     wrappers:
154       - opendaylight-infra-wrappers:
155           build-timeout: '{build-timeout}'
156
157     builders:
158       - shell: !include-raw: build-rpm-snap.sh
159       - lf-infra-deploy-maven-file:
160           global-settings-file: 'global-settings'
161           settings-file: 'packaging-settings'
162           mvn-version: '{mvn-version}'
163           repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
164           group-id: '{group-id}'
165           upload-files-dir: '{upload-files-dir}'
166           maven-repo-url: '{maven-repo-url}'
167
168     triggers:
169       - timed: '@daily'
170       - gerrit:
171           server-name: '{server-name}'
172           trigger-on:
173             - comment-added-contains-event:
174                 comment-contains-value: 'build-rpm-snap'
175           projects:
176             - project-compare-type: ANT
177               project-pattern: '{project}'
178               branches:
179                 - branch-compare-type: ANT
180                   branch-pattern: '**/{branch}'
181               file-paths:
182                 - compare-type: ANT
183                   pattern: 'pacakges/**'
184
185     publishers:
186       - lf-infra-publish
187
188
189 - job-template:
190     name: 'packaging-test-rpm-master'
191
192     node: centos7-java-builder-2c-4g
193
194     parameters:
195       - opendaylight-infra-parameters:
196           os-cloud: '{os-cloud}'
197           project: '{project}'
198           branch: '{branch}'
199           refspec: 'refs/heads/{branch}'
200           artifacts: '{archive-artifacts}'
201       - string:
202           name: URL
203           # yamllint disable-line rule:line-length
204           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-60-release.repo'
205           description: 'Link to .repo or .rpm file'
206
207     scm:
208       - integration-gerrit-scm:
209           basedir: 'packaging'
210           refspec: '$GERRIT_REFSPEC'
211           branch: 'master'
212
213     wrappers:
214       - opendaylight-infra-wrappers:
215           build-timeout: '{build-timeout}'
216
217     builders:
218       - shell: !include-raw: install-rpm.sh
219       - shell: !include-raw: start-odl.sh
220       - shell: |
221           # Install expect to interact with Karaf shell
222           sudo yum install -y expect
223           # Install nmap to check status of ODL's SSH port
224           sudo yum install -y nmap
225       - shell: !include-raw: test-karaf.expect
226       - shell: !include-raw: stop-odl.sh
227
228     publishers:
229       # TODO: Remove the archive publisher
230       #       small data should be stored on logs.opendaylight.org
231       #       large data should be stored on nexus.opendaylight.org
232       - archive:
233           artifacts: '**'
234           allow-empty: true
235           fingerprint: true
236           latest-only: true
237       - lf-infra-publish
238
239
240 - job-template:
241     name: 'packaging-test-rpm-upgrade-master'
242
243     node: centos7-java-builder-2c-4g
244
245     parameters:
246       - opendaylight-infra-parameters:
247           os-cloud: '{os-cloud}'
248           project: '{project}'
249           branch: '{branch}'
250           refspec: 'refs/heads/{branch}'
251           artifacts: '{archive-artifacts}'
252       - string:
253           name: URL
254           # yamllint disable-line rule:line-length
255           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-6-release.repo'
256           description: 'Link to .repo or .rpm file'
257       - string:
258           name: UPGRADE_URL
259           # yamllint disable-line rule:line-length
260           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-6-testing.repo'
261           description: 'Link to .repo or .rpm file'
262
263     scm:
264       - integration-gerrit-scm:
265           basedir: 'packaging'
266           refspec: '$GERRIT_REFSPEC'
267           branch: 'master'
268
269     wrappers:
270       - opendaylight-infra-wrappers:
271           build-timeout: '{build-timeout}'
272
273     builders:
274       - shell: !include-raw: install-rpm.sh
275       - shell: !include-raw: start-odl.sh
276       - shell: |
277           # Install expect to interact with Karaf shell
278           sudo yum install -y expect
279           # Install nmap to check status of ODL's SSH port
280           sudo yum install -y nmap
281       - shell: !include-raw: test-karaf.expect
282       - shell: !include-raw: stop-odl.sh
283       - shell: !include-raw: test-rpm-upgrade.sh
284       - shell: !include-raw: start-odl.sh
285       - shell: !include-raw: test-karaf.expect
286       - shell: !include-raw: stop-odl.sh
287
288     publishers:
289       - lf-infra-publish
290
291
292 - job-template:
293     name: 'packaging-test-deb-master'
294
295     node: ubuntu1604-mininet-ovs-25-2c-4g
296
297     parameters:
298       - opendaylight-infra-parameters:
299           os-cloud: '{os-cloud}'
300           project: '{project}'
301           branch: '{branch}'
302           refspec: 'refs/heads/{branch}'
303           artifacts: '{archive-artifacts}'
304       - string:
305           name: PACKAGE
306           default: 'ppa:odl-team/carbon'
307           description: 'Link to .deb package or name of PPA repo'
308
309     scm:
310       - integration-gerrit-scm:
311           basedir: 'packaging'
312           refspec: '$GERRIT_REFSPEC'
313           branch: 'master'
314
315     wrappers:
316       - opendaylight-infra-wrappers:
317           build-timeout: '{build-timeout}'
318
319     builders:
320       - shell: !include-raw: install-deb.sh
321       - shell: !include-raw: start-odl.sh
322       - shell: |
323           # Install expect to interact with Karaf shell
324           sudo apt-get install -y expect
325           # Install nmap to check status of ODL's SSH port
326           sudo apt-get install -y nmap
327       - shell: !include-raw: test-karaf.expect
328       - shell: !include-raw: stop-odl.sh
329
330     publishers:
331       - lf-infra-publish
332
333
334 - job-template:
335     name: 'packaging-build-deb-{stream}'
336
337     node: ubuntu1604-mininet-ovs-25-2c-4g
338
339     project-type: freestyle
340
341     mvn-opts: ''
342     mvn-params: ''
343     mvn-version: mvn33
344
345     properties:
346       - opendaylight-infra-properties:
347           build-days-to-keep: 7
348
349     parameters:
350       - opendaylight-infra-parameters:
351           os-cloud: '{os-cloud}'
352           project: '{project}'
353           branch: '{branch}'
354           refspec: 'refs/heads/{branch}'
355           artifacts: '{archive-artifacts}'
356       - lf-infra-maven-parameters:
357           mvn-opts: '{mvn-opts}'
358           mvn-params: '{mvn-params}'
359           mvn-version: '{mvn-version}'
360           staging-profile-id: ''
361       - string:
362           name: DOWNLOAD_URL
363           # yamllint disable-line rule:line-length
364           default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.3-Boron-SR3/distribution-karaf-0.5.3-Boron-SR3.tar.gz'
365           description: 'URL to ODL tarball artifact to repackage into .deb'
366       - string:
367           name: CHANGELOG_NAME
368           default: 'Jenkins'
369           description: 'Name of person who defined .deb'
370       - string:
371           name: CHANGELOG_EMAIL
372           default: 'jenkins-donotreply@opendaylight.org'
373           description: 'Email of person who defined .deb'
374
375     scm:
376       - integration-gerrit-scm:
377           basedir: 'packaging'
378           refspec: '$GERRIT_REFSPEC'
379           branch: 'master'
380
381     wrappers:
382       - opendaylight-infra-wrappers:
383           build-timeout: '{build-timeout}'
384
385     builders:
386       - shell: !include-raw: build-deb.sh
387       - lf-infra-deploy-maven-file:
388           global-settings-file: 'global-settings'
389           settings-file: 'packaging-settings'
390           mvn-version: '{mvn-version}'
391           repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
392           group-id: '{group-id}'
393           upload-files-dir: '{upload-files-dir}'
394           maven-repo-url: '{maven-repo-url}'
395
396     triggers:
397       - gerrit:
398           server-name: '{server-name}'
399           trigger-on:
400             - comment-added-contains-event:
401                 comment-contains-value: 'build-deb'
402           projects:
403             - project-compare-type: ANT
404               project-pattern: '{project}'
405               branches:
406                 - branch-compare-type: ANT
407                   branch-pattern: '**/{branch}'
408               file-paths:
409                 - compare-type: ANT
410                   pattern: 'pacakges/**'
411
412     publishers:
413       - lf-infra-publish