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