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