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