Move views declarations to projects folders
[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       - oxygen
30     distro:
31       - opensuse-42
32       - epel-7
33     branch: 'master'
34
35     # common parameters required for 'lf-infra-deploy-maven-file' builder
36     group-id: 'org.opendaylight.integration-packaging'
37     upload-files-dir: '$WORKSPACE/upload_files'
38     maven-repo-url: '$NEXUS_URL/content/repositories/$REPO_ID'
39
40 - job-template:
41     name: 'packaging-build-rpm-{stream}'
42
43     node: centos7-builder-2c-8g
44
45     project-type: freestyle
46
47     mvn-opts: ''
48     mvn-params: ''
49     mvn-version: mvn33
50
51     properties:
52       - opendaylight-infra-properties:
53           build-days-to-keep: 7
54
55     parameters:
56       - opendaylight-infra-parameters:
57           os-cloud: '{os-cloud}'
58           project: '{project}'
59           branch: '{branch}'
60           refspec: 'refs/heads/{branch}'
61           artifacts: '{archive-artifacts}'
62       - lf-infra-maven-parameters:
63           mvn-opts: '{mvn-opts}'
64           mvn-params: '{mvn-params}'
65           mvn-version: '{mvn-version}'
66           staging-profile-id: ''
67       - string:
68           name: DOWNLOAD_URL
69           # yamllint disable-line rule:line-length
70           default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
71           description: 'URL to ODL tarball artifact to repackage into RPM'
72       - string:
73           name: CHANGELOG_NAME
74           default: 'Jenkins'
75           description: 'Name of person who defined RPM'
76       - string:
77           name: CHANGELOG_EMAIL
78           default: 'jenkins-donotreply@opendaylight.org'
79           description: 'Email of person who defined RPM'
80
81     scm:
82       - integration-gerrit-scm:
83           basedir: 'packaging'
84           refspec: '$GERRIT_REFSPEC'
85           branch: 'master'
86
87     wrappers:
88       - opendaylight-infra-wrappers:
89           build-timeout: '{build-timeout}'
90
91     builders:
92       - shell: !include-raw-escape: build-rpm.sh
93       - install-test-uninstall-rpm
94       - lf-infra-deploy-maven-file:
95           global-settings-file: 'global-settings'
96           settings-file: 'packaging-settings'
97           mvn-version: '{mvn-version}'
98           repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
99           group-id: '{group-id}'
100           upload-files-dir: '{upload-files-dir}'
101           maven-repo-url: '{maven-repo-url}'
102
103     publishers:
104       - lf-infra-publish
105
106
107 - job-template:
108     name: 'packaging-build-rpm-{distro}-snap-{stream}'
109
110     node: centos7-docker-2c-8g
111
112     project-type: freestyle
113
114     mvn-opts: ''
115     mvn-params: ''
116     mvn-version: mvn33
117
118     properties:
119       - opendaylight-infra-properties:
120           build-days-to-keep: 7
121
122     parameters:
123       - opendaylight-infra-parameters:
124           os-cloud: '{os-cloud}'
125           project: '{project}'
126           branch: '{branch}'
127           refspec: 'refs/heads/{branch}'
128           artifacts: '{archive-artifacts}'
129       - lf-infra-maven-parameters:
130           mvn-opts: '{mvn-opts}'
131           mvn-params: '{mvn-params}'
132           mvn-version: '{mvn-version}'
133           staging-profile-id: ''
134       - string:
135           name: CHANGELOG_NAME
136           default: 'Jenkins'
137           description: 'Name of person who defined RPM'
138       - string:
139           name: CHANGELOG_EMAIL
140           default: 'jenkins-donotreply@opendaylight.org'
141           description: 'Email of person who defined RPM'
142
143     scm:
144       - integration-gerrit-scm:
145           basedir: 'packaging'
146           refspec: '$GERRIT_REFSPEC'
147           branch: 'master'
148
149     wrappers:
150       - opendaylight-infra-wrappers:
151           build-timeout: '{build-timeout}'
152
153     builders:
154       - inject:
155           properties-content: |
156               STREAM={stream}
157               DISTRO={distro}
158       - shell: !include-raw: build-rpm-snap-docker.sh
159       - shell: !include-raw: test-rpm-docker.sh
160       - lf-infra-deploy-maven-file:
161           global-settings-file: 'global-settings'
162           settings-file: 'packaging-settings'
163           mvn-version: '{mvn-version}'
164           repo-id: 'opendaylight-{stream}-{distro}-x86_64-devel'
165           group-id: '{group-id}'
166           upload-files-dir: '{upload-files-dir}'
167           maven-repo-url: '{maven-repo-url}'
168
169     triggers:
170       - timed: '@daily'
171
172     publishers:
173       - lf-infra-publish
174
175
176 - job-template:
177     name: 'packaging-verify-rpm-master'
178
179     node: centos7-builder-2c-8g
180
181     project-type: freestyle
182
183     parameters:
184       - opendaylight-infra-parameters:
185           os-cloud: '{os-cloud}'
186           project: '{project}'
187           branch: '{branch}'
188           refspec: 'refs/heads/{branch}'
189           artifacts: '{archive-artifacts}'
190
191     scm:
192       - integration-gerrit-scm:
193           basedir: 'packaging'
194           refspec: '$GERRIT_REFSPEC'
195           branch: 'master'
196
197     wrappers:
198       - opendaylight-infra-wrappers:
199           build-timeout: '{build-timeout}'
200
201     builders:
202       # Test Oxygen SR2 release tarball
203       - inject:
204           # yamllint disable-line rule:line-length
205           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
206       - shell: !include-raw-escape: build-rpm.sh
207       - install-test-uninstall-rpm
208
209       # Test latest Oxygen snapshot
210       - inject:
211           properties-content: 'STREAM=oxygen'
212       - shell: !include-raw: build-rpm-snap.sh
213       - install-test-uninstall-rpm
214
215       # Test Fluorine pre-release autorelease tarball
216       # NB: This will need to be updated as old builds expire
217       - inject:
218           # yamllint disable-line rule:line-length
219           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2209/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
220       - shell: !include-raw-escape: build-rpm.sh
221       - install-test-uninstall-rpm
222
223       # Test Fluorine multipatch zip (no parallel tarball available)
224       # NB: This will need to be updated as old builds expire
225       - inject:
226           # yamllint disable-line rule:line-length
227           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180620.055735-63.zip'
228       - shell: !include-raw-escape: build-rpm.sh
229       - install-test-uninstall-rpm
230
231       # Test latest Fluorine snapshot
232       - inject:
233           properties-content: 'STREAM=fluorine'
234       - shell: !include-raw: build-rpm-snap.sh
235       - install-test-uninstall-rpm
236
237     triggers:
238       - gerrit:
239           server-name: '{gerrit-server-name}'
240           trigger-on:
241             - comment-added-contains-event:
242                 comment-contains-value: 'rpm-verify'
243           projects:
244             - project-compare-type: ANT
245               project-pattern: '{project}'
246               branches:
247                 - branch-compare-type: ANT
248                   branch-pattern: '**/{branch}'
249               file-paths:
250                 - compare-type: ANT
251                   pattern: 'packages/**'
252
253     publishers:
254       - lf-infra-publish
255
256
257 - job-template:
258     name: 'packaging-verify-full-rpm-master'
259
260     node: centos7-builder-2c-8g
261
262     project-type: freestyle
263
264     parameters:
265       - opendaylight-infra-parameters:
266           os-cloud: '{os-cloud}'
267           project: '{project}'
268           branch: '{branch}'
269           refspec: 'refs/heads/{branch}'
270           artifacts: '{archive-artifacts}'
271
272     scm:
273       - integration-gerrit-scm:
274           basedir: 'packaging'
275           refspec: '$GERRIT_REFSPEC'
276           branch: 'master'
277
278     wrappers:
279       - opendaylight-infra-wrappers:
280           build-timeout: '{build-timeout}'
281
282     builders:
283       # Test Oxygen SR2 release tarball
284       - inject:
285           # yamllint disable-line rule:line-length
286           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
287       - shell: !include-raw-escape: build-rpm.sh
288       - install-test-uninstall-rpm
289
290       # Test Oxygen pre-release autorelease tarball
291       # NB: This will need to be updated as old builds expire
292       - inject:
293           # yamllint disable-line rule:line-length
294           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2210/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
295       - shell: !include-raw-escape: build-rpm.sh
296       - install-test-uninstall-rpm
297
298       # Test Oxygen 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.8.3-SNAPSHOT/karaf-0.8.3-20180620.173319-5.zip'
303       - shell: !include-raw-escape: build-rpm.sh
304       - install-test-uninstall-rpm
305
306       # Test latest Oxygen snapshot
307       - inject:
308           properties-content: 'STREAM=oxygen'
309       - shell: !include-raw: build-rpm-snap.sh
310       - install-test-uninstall-rpm
311
312       # Test Fluorine pre-release autorelease tarball
313       # NB: This will need to be updated as old builds expire
314       - inject:
315           # yamllint disable-line rule:line-length
316           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2209/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
317       - shell: !include-raw-escape: build-rpm.sh
318       - install-test-uninstall-rpm
319
320       # Test Fluorine multipatch zip (no parallel tarball available)
321       # NB: This will need to be updated as old builds expire
322       - inject:
323           # yamllint disable-line rule:line-length
324           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180620.055735-63.zip'
325       - shell: !include-raw-escape: build-rpm.sh
326       - install-test-uninstall-rpm
327
328       # Test latest Fluorine snapshot
329       - inject:
330           properties-content: 'STREAM=fluorine'
331       - shell: !include-raw: build-rpm-snap.sh
332       - install-test-uninstall-rpm
333
334     triggers:
335       - timed: '@daily'
336       - gerrit:
337           server-name: '{gerrit-server-name}'
338           trigger-on:
339             - comment-added-contains-event:
340                 comment-contains-value: 'verify-rpm-full'
341           projects:
342             - project-compare-type: ANT
343               project-pattern: '{project}'
344               branches:
345                 - branch-compare-type: ANT
346                   branch-pattern: '**/{branch}'
347
348     publishers:
349       - lf-infra-publish
350
351
352 - job-template:
353     name: 'packaging-test-rpm-master'
354
355     node: centos7-builder-2c-8g
356
357     parameters:
358       - opendaylight-infra-parameters:
359           os-cloud: '{os-cloud}'
360           project: '{project}'
361           branch: '{branch}'
362           refspec: 'refs/heads/{branch}'
363           artifacts: '{archive-artifacts}'
364       - string:
365           name: URL
366           # yamllint disable-line rule:line-length
367           default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
368           description: 'Link to .repo or .rpm file'
369
370     scm:
371       - integration-gerrit-scm:
372           basedir: 'packaging'
373           refspec: '$GERRIT_REFSPEC'
374           branch: 'master'
375
376     wrappers:
377       - opendaylight-infra-wrappers:
378           build-timeout: '{build-timeout}'
379
380     builders:
381       - shell: |
382           # Install expect to interact with Karaf shell
383           # Install nmap to check status of ODL's SSH port
384           sudo yum install -y expect nmap
385       - shell: !include-raw-escape: install-rpm.sh
386       - shell: !include-raw: start-odl.sh
387       - shell: !include-raw-escape: test-ports-nofeature.sh
388       - shell: !include-raw: test-karaf-oxygensafe.expect
389       # Disable this test until ODLPARENT-139 is fixed
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-8-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-8-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-oxygensafe.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-oxygensafe.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/oxygen'
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-escape: install-deb.sh
488       - shell: !include-raw: start-odl.sh
489       - shell: !include-raw-escape: test-ports-nofeature.sh
490       - shell: |
491           # Install expect to interact with Karaf shell
492           # Install nmap to check status of ODL's SSH port
493           sudo apt-get install -y expect nmap
494       - shell: !include-raw: test-karaf-oxygensafe.expect
495       # Disable this test until ODLPARENT-139 is fixed
496       # - shell: !include-raw-escape: test-rest-ok.sh
497       - shell: !include-raw: stop-odl.sh
498       - shell: !include-raw-escape: uninstall-deb.sh
499
500     publishers:
501       - lf-infra-publish
502
503
504 - job-template:
505     name: 'packaging-build-deb-{stream}'
506
507     node: ubuntu1604-mininet-ovs-25-1c-4g
508
509     project-type: freestyle
510
511     mvn-opts: ''
512     mvn-params: ''
513     mvn-version: mvn33
514
515     properties:
516       - opendaylight-infra-properties:
517           build-days-to-keep: 7
518
519     parameters:
520       - opendaylight-infra-parameters:
521           os-cloud: '{os-cloud}'
522           project: '{project}'
523           branch: '{branch}'
524           refspec: 'refs/heads/{branch}'
525           artifacts: '{archive-artifacts}'
526       - lf-infra-maven-parameters:
527           mvn-opts: '{mvn-opts}'
528           mvn-params: '{mvn-params}'
529           mvn-version: '{mvn-version}'
530           staging-profile-id: ''
531       - string:
532           name: DOWNLOAD_URL
533           # FIXME: Update the default value to an active stream.
534           # yamllint disable-line rule:line-length
535           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'
536           description: 'URL to ODL tarball artifact to repackage into .deb'
537       - string:
538           name: CHANGELOG_NAME
539           default: 'Jenkins'
540           description: 'Name of person who defined .deb'
541       - string:
542           name: CHANGELOG_EMAIL
543           default: 'jenkins-donotreply@opendaylight.org'
544           description: 'Email of person who defined .deb'
545
546     scm:
547       - integration-gerrit-scm:
548           basedir: 'packaging'
549           refspec: '$GERRIT_REFSPEC'
550           branch: 'master'
551
552     wrappers:
553       - opendaylight-infra-wrappers:
554           build-timeout: '{build-timeout}'
555
556     builders:
557       - shell: !include-raw: build-deb.sh
558       - install-test-uninstall-deb
559       - lf-infra-deploy-maven-file:
560           global-settings-file: 'global-settings'
561           settings-file: 'packaging-settings'
562           mvn-version: '{mvn-version}'
563           repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
564           group-id: '{group-id}'
565           upload-files-dir: '{upload-files-dir}'
566           maven-repo-url: '{maven-repo-url}'
567
568     publishers:
569       - lf-infra-publish
570
571 - view:
572     name: packaging
573     description: 'List of packaging, ansible and puppet jobs'
574     regex: '^packaging.*|ansible.*|puppet.*'
575     <<: *releng_view_common