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