Update Ubuntu docker image
[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       # NB: This will need to be updated as old builds expire
213       - inject:
214           # yamllint disable-line rule:line-length
215           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'
216       - shell: !include-raw-escape: build-rpm.sh
217       - install-test-uninstall-rpm
218
219       # Test Oxygen multipatch zip (no parallel tarball available)
220       # NB: This will need to be updated as old builds expire
221       - inject:
222           # yamllint disable-line rule:line-length
223           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'
224       - shell: !include-raw-escape: build-rpm.sh
225       - install-test-uninstall-rpm
226
227       # Test latest Oxygen snapshot
228       - inject:
229           properties-content: 'STREAM=oxygen'
230       - shell: !include-raw: build-rpm-snap.sh
231       - install-test-uninstall-rpm
232
233     triggers:
234       - gerrit:
235           server-name: '{gerrit-server-name}'
236           trigger-on:
237             - comment-added-contains-event:
238                 comment-contains-value: 'rpm-verify'
239           projects:
240             - project-compare-type: ANT
241               project-pattern: '{project}'
242               branches:
243                 - branch-compare-type: ANT
244                   branch-pattern: '**/{branch}'
245               file-paths:
246                 - compare-type: ANT
247                   pattern: 'packages/**'
248
249     publishers:
250       - lf-infra-publish
251
252
253 - job-template:
254     name: 'packaging-verify-full-rpm-master'
255
256     node: centos7-builder-2c-8g
257
258     project-type: freestyle
259
260     parameters:
261       - opendaylight-infra-parameters:
262           os-cloud: '{os-cloud}'
263           project: '{project}'
264           branch: '{branch}'
265           refspec: 'refs/heads/{branch}'
266           artifacts: '{archive-artifacts}'
267
268     scm:
269       - integration-gerrit-scm:
270           basedir: 'packaging'
271           refspec: '$GERRIT_REFSPEC'
272           branch: 'master'
273
274     wrappers:
275       - opendaylight-infra-wrappers:
276           build-timeout: '{build-timeout}'
277
278     builders:
279       # Test Carbon SR2 tarball
280       - inject:
281           # yamllint disable-line rule:line-length
282           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'
283       - shell: !include-raw-escape: build-rpm.sh
284       - install-test-uninstall-rpm
285
286       # Test Carbon multipatch zip (no parallel tarball available)
287       # NB: This will need to be updated as old builds expire
288       - inject:
289           # yamllint disable-line rule:line-length
290           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-20180408.212935-2.zip'
291       - shell: !include-raw-escape: build-rpm.sh
292       - install-test-uninstall-rpm
293
294       # Test latest Carbon snapshot
295       - inject:
296           properties-content: 'STREAM=carbon'
297       - shell: !include-raw: build-rpm-snap.sh
298       - install-test-uninstall-rpm
299
300       # Test Nitrogen tarball
301       - inject:
302           # yamllint disable-line rule:line-length
303           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'
304       - shell: !include-raw-escape: build-rpm.sh
305       - install-test-uninstall-rpm
306
307       # Test Nitrogen SR1 tarball
308       - inject:
309           # yamllint disable-line rule:line-length
310           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'
311       - shell: !include-raw-escape: build-rpm.sh
312       - install-test-uninstall-rpm
313
314       # Test Nitrogen 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.7.3-SNAPSHOT/karaf-0.7.3-20180408.214158-1.zip'
319       - shell: !include-raw-escape: build-rpm.sh
320       - install-test-uninstall-rpm
321
322       # Test latest Nitrogen snapshot
323       - inject:
324           properties-content: 'STREAM=nitrogen'
325       - shell: !include-raw: build-rpm-snap.sh
326       - install-test-uninstall-rpm
327
328       # Test Oxygen pre-release autorelease tarball
329       # NB: This will need to be updated as old builds expire
330       - inject:
331           # yamllint disable-line rule:line-length
332           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'
333       - shell: !include-raw-escape: build-rpm.sh
334       - install-test-uninstall-rpm
335
336       # Test Oxygen multipatch zip (no parallel tarball available)
337       # NB: This will need to be updated as old builds expire
338       - inject:
339           # yamllint disable-line rule:line-length
340           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'
341       - shell: !include-raw-escape: build-rpm.sh
342       - install-test-uninstall-rpm
343
344       # Test latest Oxygen snapshot
345       - inject:
346           properties-content: 'STREAM=oxygen'
347       - shell: !include-raw: build-rpm-snap.sh
348       - install-test-uninstall-rpm
349
350     triggers:
351       - timed: '@daily'
352       - gerrit:
353           server-name: '{gerrit-server-name}'
354           trigger-on:
355             - comment-added-contains-event:
356                 comment-contains-value: 'verify-rpm-full'
357           projects:
358             - project-compare-type: ANT
359               project-pattern: '{project}'
360               branches:
361                 - branch-compare-type: ANT
362                   branch-pattern: '**/{branch}'
363
364     publishers:
365       - lf-infra-publish
366
367
368 - job-template:
369     name: 'packaging-test-rpm-master'
370
371     node: centos7-builder-2c-8g
372
373     parameters:
374       - opendaylight-infra-parameters:
375           os-cloud: '{os-cloud}'
376           project: '{project}'
377           branch: '{branch}'
378           refspec: 'refs/heads/{branch}'
379           artifacts: '{archive-artifacts}'
380       - string:
381           name: URL
382           # yamllint disable-line rule:line-length
383           default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-8-devel.repo'
384           description: 'Link to .repo or .rpm file'
385
386     scm:
387       - integration-gerrit-scm:
388           basedir: 'packaging'
389           refspec: '$GERRIT_REFSPEC'
390           branch: 'master'
391
392     wrappers:
393       - opendaylight-infra-wrappers:
394           build-timeout: '{build-timeout}'
395
396     builders:
397       - shell: |
398           # Install expect to interact with Karaf shell
399           # Install nmap to check status of ODL's SSH port
400           sudo yum install -y expect nmap
401       - shell: !include-raw-escape: install-rpm.sh
402       - shell: !include-raw: start-odl.sh
403       - shell: !include-raw-escape: test-ports-nofeature.sh
404       - shell: !include-raw: test-karaf-oxygensafe.expect
405       # Disable this test until ODLPARENT-139 is fixed
406       # - shell: !include-raw-escape: test-rest-ok.sh
407       - shell: !include-raw: stop-odl.sh
408       - shell: !include-raw: uninstall-rpm.sh
409
410     publishers:
411       # TODO: Remove the archive publisher
412       #       small data should be stored on logs.opendaylight.org
413       #       large data should be stored on nexus.opendaylight.org
414       - archive:
415           artifacts: '**'
416           allow-empty: true
417           fingerprint: true
418           latest-only: true
419       - lf-infra-publish
420
421
422 - job-template:
423     name: 'packaging-test-rpm-upgrade-master'
424
425     node: centos7-builder-2c-8g
426
427     parameters:
428       - opendaylight-infra-parameters:
429           os-cloud: '{os-cloud}'
430           project: '{project}'
431           branch: '{branch}'
432           refspec: 'refs/heads/{branch}'
433           artifacts: '{archive-artifacts}'
434       - string:
435           name: URL
436           # yamllint disable-line rule:line-length
437           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-release.repo'
438           description: 'Link to .repo or .rpm file'
439       - string:
440           name: UPGRADE_URL
441           # yamllint disable-line rule:line-length
442           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-devel.repo'
443           description: 'Link to .repo or .rpm file'
444
445     scm:
446       - integration-gerrit-scm:
447           basedir: 'packaging'
448           refspec: '$GERRIT_REFSPEC'
449           branch: 'master'
450
451     wrappers:
452       - opendaylight-infra-wrappers:
453           build-timeout: '{build-timeout}'
454
455     builders:
456       - shell: !include-raw-escape: install-rpm.sh
457       - shell: !include-raw: start-odl.sh
458       - shell: |
459           # Install expect to interact with Karaf shell
460           sudo yum install -y expect
461           # Install nmap to check status of ODL's SSH port
462           sudo yum install -y nmap
463       - shell: !include-raw: test-karaf-oxygensafe.expect
464       - shell: !include-raw: stop-odl.sh
465       - shell: !include-raw: test-rpm-upgrade.sh
466       - shell: !include-raw: start-odl.sh
467       - shell: !include-raw: test-karaf-oxygensafe.expect
468       - shell: !include-raw: stop-odl.sh
469       - shell: !include-raw: uninstall-rpm.sh
470
471     publishers:
472       - lf-infra-publish
473
474
475 - job-template:
476     name: 'packaging-test-deb-master'
477
478     node: ubuntu1604-mininet-ovs-25-1c-4g
479
480     parameters:
481       - opendaylight-infra-parameters:
482           os-cloud: '{os-cloud}'
483           project: '{project}'
484           branch: '{branch}'
485           refspec: 'refs/heads/{branch}'
486           artifacts: '{archive-artifacts}'
487       - string:
488           name: PACKAGE
489           default: 'ppa:odl-team/nitrogen'
490           description: 'Link to .deb package or name of PPA repo'
491
492     scm:
493       - integration-gerrit-scm:
494           basedir: 'packaging'
495           refspec: '$GERRIT_REFSPEC'
496           branch: 'master'
497
498     wrappers:
499       - opendaylight-infra-wrappers:
500           build-timeout: '{build-timeout}'
501
502     builders:
503       - shell: !include-raw-escape: install-deb.sh
504       - shell: !include-raw: start-odl.sh
505       - shell: !include-raw-escape: test-ports-nofeature.sh
506       - shell: |
507           # Install expect to interact with Karaf shell
508           # Install nmap to check status of ODL's SSH port
509           sudo apt-get install -y expect nmap
510       - shell: !include-raw: test-karaf-oxygensafe.expect
511       # Disable this test until ODLPARENT-139 is fixed
512       # - shell: !include-raw-escape: test-rest-ok.sh
513       - shell: !include-raw: stop-odl.sh
514       - shell: !include-raw-escape: uninstall-deb.sh
515
516     publishers:
517       - lf-infra-publish
518
519
520 - job-template:
521     name: 'packaging-build-deb-{stream}'
522
523     node: ubuntu1604-mininet-ovs-25-1c-4g
524
525     project-type: freestyle
526
527     mvn-opts: ''
528     mvn-params: ''
529     mvn-version: mvn33
530
531     properties:
532       - opendaylight-infra-properties:
533           build-days-to-keep: 7
534
535     parameters:
536       - opendaylight-infra-parameters:
537           os-cloud: '{os-cloud}'
538           project: '{project}'
539           branch: '{branch}'
540           refspec: 'refs/heads/{branch}'
541           artifacts: '{archive-artifacts}'
542       - lf-infra-maven-parameters:
543           mvn-opts: '{mvn-opts}'
544           mvn-params: '{mvn-params}'
545           mvn-version: '{mvn-version}'
546           staging-profile-id: ''
547       - string:
548           name: DOWNLOAD_URL
549           # FIXME: Update the default value to an active stream.
550           # yamllint disable-line rule:line-length
551           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'
552           description: 'URL to ODL tarball artifact to repackage into .deb'
553       - string:
554           name: CHANGELOG_NAME
555           default: 'Jenkins'
556           description: 'Name of person who defined .deb'
557       - string:
558           name: CHANGELOG_EMAIL
559           default: 'jenkins-donotreply@opendaylight.org'
560           description: 'Email of person who defined .deb'
561
562     scm:
563       - integration-gerrit-scm:
564           basedir: 'packaging'
565           refspec: '$GERRIT_REFSPEC'
566           branch: 'master'
567
568     wrappers:
569       - opendaylight-infra-wrappers:
570           build-timeout: '{build-timeout}'
571
572     builders:
573       - shell: !include-raw: build-deb.sh
574       - install-test-uninstall-deb
575       - lf-infra-deploy-maven-file:
576           global-settings-file: 'global-settings'
577           settings-file: 'packaging-settings'
578           mvn-version: '{mvn-version}'
579           repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
580           group-id: '{group-id}'
581           upload-files-dir: '{upload-files-dir}'
582           maven-repo-url: '{maven-repo-url}'
583
584     publishers:
585       - lf-infra-publish