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