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