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