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