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