23b54285600ebac9507d41b9bc3116ea76ff1d7f
[releng/builder.git] / jjb / packaging / packaging.yaml
1 ---
2 - project:
3     name: packaging
4     project-name: packaging
5
6     jobs:
7       - 'packaging-build-rpm-{stream}'
8       - 'packaging-build-rpm-snap-{stream}'
9       - 'packaging-build-deb-{stream}'
10       - 'packaging-verify-full-rpm-master'
11       - 'packaging-verify-rpm-master'
12       - 'packaging-test-rpm-master'
13       - 'packaging-test-rpm-upgrade-master'
14       - 'packaging-test-deb-master'
15       - gerrit-tox-verify:
16           branch: master
17           stream: master
18
19     project: 'integration/packaging'
20
21     stream:
22       - carbon
23       - nitrogen
24       - oxygen
25     branch: 'master'
26
27     # common parameters required for 'lf-infra-deploy-maven-file' builder
28     group-id: 'org.opendaylight.integration-packaging'
29     upload-files-dir: '$WORKSPACE/upload_files'
30     maven-repo-url: '$NEXUS_URL/content/repositories/$REPO_ID'
31
32 - job-template:
33     name: 'packaging-build-rpm-{stream}'
34
35     node: centos7-builder-2c-8g
36
37     project-type: freestyle
38
39     mvn-opts: ''
40     mvn-params: ''
41     mvn-version: mvn33
42
43     properties:
44       - opendaylight-infra-properties:
45           build-days-to-keep: 7
46
47     parameters:
48       - opendaylight-infra-parameters:
49           os-cloud: '{os-cloud}'
50           project: '{project}'
51           branch: '{branch}'
52           refspec: 'refs/heads/{branch}'
53           artifacts: '{archive-artifacts}'
54       - lf-infra-maven-parameters:
55           mvn-opts: '{mvn-opts}'
56           mvn-params: '{mvn-params}'
57           mvn-version: '{mvn-version}'
58           staging-profile-id: ''
59       - string:
60           name: DOWNLOAD_URL
61           # yamllint disable-line rule:line-length
62           default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz'
63           description: 'URL to ODL tarball artifact to repackage into RPM'
64       - string:
65           name: CHANGELOG_NAME
66           default: 'Jenkins'
67           description: 'Name of person who defined RPM'
68       - string:
69           name: CHANGELOG_EMAIL
70           default: 'jenkins-donotreply@opendaylight.org'
71           description: 'Email of person who defined RPM'
72
73     scm:
74       - integration-gerrit-scm:
75           basedir: 'packaging'
76           refspec: '$GERRIT_REFSPEC'
77           branch: 'master'
78
79     wrappers:
80       - opendaylight-infra-wrappers:
81           build-timeout: '{build-timeout}'
82
83     builders:
84       - shell: !include-raw-escape: build-rpm.sh
85       - install-test-uninstall-rpm
86       - lf-infra-deploy-maven-file:
87           global-settings-file: 'global-settings'
88           settings-file: 'packaging-settings'
89           mvn-version: '{mvn-version}'
90           repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
91           group-id: '{group-id}'
92           upload-files-dir: '{upload-files-dir}'
93           maven-repo-url: '{maven-repo-url}'
94
95     publishers:
96       - lf-infra-publish
97
98
99 - job-template:
100     name: 'packaging-build-rpm-snap-{stream}'
101
102     node: centos7-builder-2c-8g
103
104     project-type: freestyle
105
106     mvn-opts: ''
107     mvn-params: ''
108     mvn-version: mvn33
109
110     properties:
111       - opendaylight-infra-properties:
112           build-days-to-keep: 7
113
114     parameters:
115       - opendaylight-infra-parameters:
116           os-cloud: '{os-cloud}'
117           project: '{project}'
118           branch: '{branch}'
119           refspec: 'refs/heads/{branch}'
120           artifacts: '{archive-artifacts}'
121       - lf-infra-maven-parameters:
122           mvn-opts: '{mvn-opts}'
123           mvn-params: '{mvn-params}'
124           mvn-version: '{mvn-version}'
125           staging-profile-id: ''
126       - string:
127           name: CHANGELOG_NAME
128           default: 'Jenkins'
129           description: 'Name of person who defined RPM'
130       - string:
131           name: CHANGELOG_EMAIL
132           default: 'jenkins-donotreply@opendaylight.org'
133           description: 'Email of person who defined RPM'
134
135     scm:
136       - integration-gerrit-scm:
137           basedir: 'packaging'
138           refspec: '$GERRIT_REFSPEC'
139           branch: 'master'
140
141     wrappers:
142       - opendaylight-infra-wrappers:
143           build-timeout: '{build-timeout}'
144
145     builders:
146       - inject:
147           properties-content: 'STREAM={stream}'
148       - shell: !include-raw: build-rpm-snap.sh
149       - install-test-uninstall-rpm
150       - lf-infra-deploy-maven-file:
151           global-settings-file: 'global-settings'
152           settings-file: 'packaging-settings'
153           mvn-version: '{mvn-version}'
154           repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
155           group-id: '{group-id}'
156           upload-files-dir: '{upload-files-dir}'
157           maven-repo-url: '{maven-repo-url}'
158
159     triggers:
160       - timed: '@daily'
161
162     publishers:
163       - lf-infra-publish
164
165
166 - job-template:
167     name: 'packaging-verify-rpm-master'
168
169     node: centos7-builder-2c-8g
170
171     project-type: freestyle
172
173     parameters:
174       - opendaylight-infra-parameters:
175           os-cloud: '{os-cloud}'
176           project: '{project}'
177           branch: '{branch}'
178           refspec: 'refs/heads/{branch}'
179           artifacts: '{archive-artifacts}'
180
181     scm:
182       - integration-gerrit-scm:
183           basedir: 'packaging'
184           refspec: '$GERRIT_REFSPEC'
185           branch: 'master'
186
187     wrappers:
188       - opendaylight-infra-wrappers:
189           build-timeout: '{build-timeout}'
190
191     builders:
192       # Test Nitrogen tarball
193       - inject:
194           # yamllint disable-line rule:line-length
195           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz'
196       - shell: !include-raw-escape: build-rpm.sh
197       - install-test-uninstall-rpm
198
199       # Test Oxygen pre-release autorelease tarball
200       # FIXME: There aren't any available Oxygen autorelease builds, add one once possible
201       # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139
202       # - inject:
203       # yamllint disable-line rule:line-length
204       #    properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2052/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz'
205       # - shell: !include-raw-escape: build-rpm.sh
206       # - install-test-uninstall-rpm
207
208       # Test Oxygen multipatch zip (no parallel tarball available)
209       # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139
210       # - inject:
211       # yamllint disable-line rule:line-length
212       #     properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180204.191936-134.zip'
213       # - shell: !include-raw-escape: build-rpm.sh
214       # - install-test-uninstall-rpm
215
216       # Test latest Oxygen snapshot
217       # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139
218       # - inject:
219       #     properties-content: 'STREAM=oxygen'
220       # - shell: !include-raw: build-rpm-snap.sh
221       # - install-test-uninstall-rpm
222
223     triggers:
224       - gerrit:
225           server-name: '{gerrit-server-name}'
226           projects:
227             - project-compare-type: ANT
228               project-pattern: '{project}'
229               branches:
230                 - branch-compare-type: ANT
231                   branch-pattern: '**/{branch}'
232               file-paths:
233                 - compare-type: ANT
234                   pattern: 'packages/**'
235
236     publishers:
237       - lf-infra-publish
238
239
240 - job-template:
241     name: 'packaging-verify-full-rpm-master'
242
243     node: centos7-builder-2c-8g
244
245     project-type: freestyle
246
247     parameters:
248       - opendaylight-infra-parameters:
249           os-cloud: '{os-cloud}'
250           project: '{project}'
251           branch: '{branch}'
252           refspec: 'refs/heads/{branch}'
253           artifacts: '{archive-artifacts}'
254
255     scm:
256       - integration-gerrit-scm:
257           basedir: 'packaging'
258           refspec: '$GERRIT_REFSPEC'
259           branch: 'master'
260
261     wrappers:
262       - opendaylight-infra-wrappers:
263           build-timeout: '{build-timeout}'
264
265     builders:
266       # Test Carbon SR2 tarball
267       - inject:
268           # yamllint disable-line rule:line-length
269           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz'
270       - shell: !include-raw-escape: build-rpm.sh
271       - install-test-uninstall-rpm
272
273       # Test Carbon multipatch zip (no parallel tarball available)
274       # NB: This will need to be updated as old builds expire
275       - inject:
276           # yamllint disable-line rule:line-length
277           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/distribution-karaf/0.6.3-SNAPSHOT/distribution-karaf-0.6.3-20180115.181738-1.zip'
278       - shell: !include-raw-escape: build-rpm.sh
279       - install-test-uninstall-rpm
280
281       # Test latest Carbon snapshot
282       - inject:
283           properties-content: 'STREAM=carbon'
284       - shell: !include-raw: build-rpm-snap.sh
285       - install-test-uninstall-rpm
286
287       # Test Nitrogen tarball
288       - inject:
289           # yamllint disable-line rule:line-length
290           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz'
291       - shell: !include-raw-escape: build-rpm.sh
292       - install-test-uninstall-rpm
293
294       # Test Nitrogen SR1 tarball
295       - inject:
296           # yamllint disable-line rule:line-length
297           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.1/karaf-0.7.1.tar.gz'
298       - shell: !include-raw-escape: build-rpm.sh
299       - install-test-uninstall-rpm
300
301       # Test Nitrogen multipatch zip (no parallel tarball available)
302       # NB: This will need to be updated as old builds expire
303       - inject:
304           # yamllint disable-line rule:line-length
305           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.7.2-SNAPSHOT/karaf-0.7.2-20180115.183312-2.zip'
306       - shell: !include-raw-escape: build-rpm.sh
307       - install-test-uninstall-rpm
308
309       # Test latest Nitrogen snapshot
310       - inject:
311           properties-content: 'STREAM=nitrogen'
312       - shell: !include-raw: build-rpm-snap.sh
313       - install-test-uninstall-rpm
314
315       # Test Oxygen pre-release autorelease tarball
316       # FIXME: There aren't any available Oxygen autorelease builds, add one once possible
317       # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139
318       # NB: This will need to be updated as old builds expire
319       # - inject:
320       # yamllint disable-line rule:line-length
321       #    properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2052/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz'
322       # - shell: !include-raw-escape: build-rpm.sh
323       # - install-test-uninstall-rpm
324
325       # Test Oxygen multipatch zip (no parallel tarball available)
326       # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139
327       # NB: This will need to be updated as old builds expire
328       # - inject:
329       # yamllint disable-line rule:line-length
330       #     properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180204.191936-134.zip'
331       # - shell: !include-raw: build-rpm.sh
332       # - install-test-uninstall-rpm
333
334       # Test latest Oxygen snapshot
335       # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139
336       # NB: Leaving this one known-failing Oxygen test running so can watch for fix
337       - inject:
338           properties-content: 'STREAM=oxygen'
339       - shell: !include-raw: build-rpm-snap.sh
340       - install-test-uninstall-rpm
341
342     triggers:
343       - timed: '@daily'
344       - gerrit:
345           server-name: '{gerrit-server-name}'
346           trigger-on:
347             - comment-added-contains-event:
348                 comment-contains-value: 'verify-rpm-full'
349           projects:
350             - project-compare-type: ANT
351               project-pattern: '{project}'
352               branches:
353                 - branch-compare-type: ANT
354                   branch-pattern: '**/{branch}'
355
356     publishers:
357       - lf-infra-publish
358
359
360 - job-template:
361     name: 'packaging-test-rpm-master'
362
363     node: centos7-builder-2c-8g
364
365     parameters:
366       - opendaylight-infra-parameters:
367           os-cloud: '{os-cloud}'
368           project: '{project}'
369           branch: '{branch}'
370           refspec: 'refs/heads/{branch}'
371           artifacts: '{archive-artifacts}'
372       - string:
373           name: URL
374           # yamllint disable-line rule:line-length
375           default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-8-devel.repo'
376           description: 'Link to .repo or .rpm file'
377
378     scm:
379       - integration-gerrit-scm:
380           basedir: 'packaging'
381           refspec: '$GERRIT_REFSPEC'
382           branch: 'master'
383
384     wrappers:
385       - opendaylight-infra-wrappers:
386           build-timeout: '{build-timeout}'
387
388     builders:
389       - shell: |
390           # Install expect to interact with Karaf shell
391           # Install nmap to check status of ODL's SSH port
392           sudo yum install -y expect nmap
393       - shell: !include-raw-escape: install-rpm.sh
394       - shell: !include-raw: start-odl.sh
395       - shell: !include-raw-escape: test-ports-nofeature.sh
396       - shell: !include-raw: test-karaf.expect
397       - shell: !include-raw-escape: test-rest-ok.sh
398       - shell: !include-raw: stop-odl.sh
399       - shell: !include-raw: uninstall-rpm.sh
400
401     publishers:
402       # TODO: Remove the archive publisher
403       #       small data should be stored on logs.opendaylight.org
404       #       large data should be stored on nexus.opendaylight.org
405       - archive:
406           artifacts: '**'
407           allow-empty: true
408           fingerprint: true
409           latest-only: true
410       - lf-infra-publish
411
412
413 - job-template:
414     name: 'packaging-test-rpm-upgrade-master'
415
416     node: centos7-builder-2c-8g
417
418     parameters:
419       - opendaylight-infra-parameters:
420           os-cloud: '{os-cloud}'
421           project: '{project}'
422           branch: '{branch}'
423           refspec: 'refs/heads/{branch}'
424           artifacts: '{archive-artifacts}'
425       - string:
426           name: URL
427           # yamllint disable-line rule:line-length
428           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-release.repo'
429           description: 'Link to .repo or .rpm file'
430       - string:
431           name: UPGRADE_URL
432           # yamllint disable-line rule:line-length
433           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-devel.repo'
434           description: 'Link to .repo or .rpm file'
435
436     scm:
437       - integration-gerrit-scm:
438           basedir: 'packaging'
439           refspec: '$GERRIT_REFSPEC'
440           branch: 'master'
441
442     wrappers:
443       - opendaylight-infra-wrappers:
444           build-timeout: '{build-timeout}'
445
446     builders:
447       - shell: !include-raw-escape: install-rpm.sh
448       - shell: !include-raw: start-odl.sh
449       - shell: |
450           # Install expect to interact with Karaf shell
451           sudo yum install -y expect
452           # Install nmap to check status of ODL's SSH port
453           sudo yum install -y nmap
454       - shell: !include-raw: test-karaf.expect
455       - shell: !include-raw: stop-odl.sh
456       - shell: !include-raw: test-rpm-upgrade.sh
457       - shell: !include-raw: start-odl.sh
458       - shell: !include-raw: test-karaf.expect
459       - shell: !include-raw: stop-odl.sh
460       - shell: !include-raw: uninstall-rpm.sh
461
462     publishers:
463       - lf-infra-publish
464
465
466 - job-template:
467     name: 'packaging-test-deb-master'
468
469     node: ubuntu1604-mininet-ovs-25-1c-4g
470
471     parameters:
472       - opendaylight-infra-parameters:
473           os-cloud: '{os-cloud}'
474           project: '{project}'
475           branch: '{branch}'
476           refspec: 'refs/heads/{branch}'
477           artifacts: '{archive-artifacts}'
478       - string:
479           name: PACKAGE
480           default: 'ppa:odl-team/carbon'
481           description: 'Link to .deb package or name of PPA repo'
482
483     scm:
484       - integration-gerrit-scm:
485           basedir: 'packaging'
486           refspec: '$GERRIT_REFSPEC'
487           branch: 'master'
488
489     wrappers:
490       - opendaylight-infra-wrappers:
491           build-timeout: '{build-timeout}'
492
493     builders:
494       - shell: !include-raw: install-deb.sh
495       - shell: !include-raw: start-odl.sh
496       - shell: |
497           # Install expect to interact with Karaf shell
498           sudo apt-get install -y expect
499           # Install nmap to check status of ODL's SSH port
500           sudo apt-get install -y nmap
501       - shell: !include-raw: test-karaf.expect
502       - shell: !include-raw: stop-odl.sh
503
504     publishers:
505       - lf-infra-publish
506
507
508 - job-template:
509     name: 'packaging-build-deb-{stream}'
510
511     node: ubuntu1604-mininet-ovs-25-1c-4g
512
513     project-type: freestyle
514
515     mvn-opts: ''
516     mvn-params: ''
517     mvn-version: mvn33
518
519     properties:
520       - opendaylight-infra-properties:
521           build-days-to-keep: 7
522
523     parameters:
524       - opendaylight-infra-parameters:
525           os-cloud: '{os-cloud}'
526           project: '{project}'
527           branch: '{branch}'
528           refspec: 'refs/heads/{branch}'
529           artifacts: '{archive-artifacts}'
530       - lf-infra-maven-parameters:
531           mvn-opts: '{mvn-opts}'
532           mvn-params: '{mvn-params}'
533           mvn-version: '{mvn-version}'
534           staging-profile-id: ''
535       - string:
536           name: DOWNLOAD_URL
537           # FIXME: Update the default value to an active stream.
538           # yamllint disable-line rule:line-length
539           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'
540           description: 'URL to ODL tarball artifact to repackage into .deb'
541       - string:
542           name: CHANGELOG_NAME
543           default: 'Jenkins'
544           description: 'Name of person who defined .deb'
545       - string:
546           name: CHANGELOG_EMAIL
547           default: 'jenkins-donotreply@opendaylight.org'
548           description: 'Email of person who defined .deb'
549
550     scm:
551       - integration-gerrit-scm:
552           basedir: 'packaging'
553           refspec: '$GERRIT_REFSPEC'
554           branch: 'master'
555
556     wrappers:
557       - opendaylight-infra-wrappers:
558           build-timeout: '{build-timeout}'
559
560     builders:
561       - shell: !include-raw: build-deb.sh
562       - lf-infra-deploy-maven-file:
563           global-settings-file: 'global-settings'
564           settings-file: 'packaging-settings'
565           mvn-version: '{mvn-version}'
566           repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
567           group-id: '{group-id}'
568           upload-files-dir: '{upload-files-dir}'
569           maven-repo-url: '{maven-repo-url}'
570
571     publishers:
572       - lf-infra-publish