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