Merge "Use global-jjb tox jobs for AR version management"
[releng/builder.git] / jjb / packaging / packaging.yaml
1 ---
2 - project:
3     name: packaging
4     project-name: packaging
5
6     jobs:
7       - '{project-name}-verify-tox-master'
8       - 'packaging-build-rpm-{stream}'
9       - 'packaging-build-rpm-snap-{stream}'
10       - 'packaging-build-deb-{stream}'
11       - 'packaging-verify-full-rpm-master'
12       - 'packaging-verify-rpm-master'
13       - 'packaging-test-rpm-master'
14       - 'packaging-test-rpm-upgrade-master'
15       - 'packaging-test-deb-master'
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/distribution-karaf/0.6.0-Carbon/distribution-karaf-0.6.0-Carbon.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 Nitrogen multipatch zip (no parallel tarball available)
194       - inject:
195           # yamllint disable-line rule:line-length
196           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-20171003.134117-9.zip'
197       - shell: !include-raw: build-rpm.sh
198
199       # Test latest Nitrogen snapshot
200       - inject:
201           properties-content: 'STREAM=nitrogen'
202       - shell: !include-raw: build-rpm-snap.sh
203
204     triggers:
205       - gerrit:
206           server-name: '{server-name}'
207           projects:
208             - project-compare-type: ANT
209               project-pattern: '{project}'
210               branches:
211                 - branch-compare-type: ANT
212                   branch-pattern: '**/{branch}'
213               file-paths:
214                 - compare-type: ANT
215                   pattern: 'packages/**'
216
217     publishers:
218       - lf-infra-publish
219
220
221 - job-template:
222     name: 'packaging-verify-full-rpm-master'
223
224     node: centos7-java-builder-2c-4g
225
226     project-type: freestyle
227
228     parameters:
229       - opendaylight-infra-parameters:
230           os-cloud: '{os-cloud}'
231           project: '{project}'
232           branch: '{branch}'
233           refspec: 'refs/heads/{branch}'
234           artifacts: '{archive-artifacts}'
235
236     scm:
237       - integration-gerrit-scm:
238           basedir: 'packaging'
239           refspec: '$GERRIT_REFSPEC'
240           branch: 'master'
241
242     wrappers:
243       - opendaylight-infra-wrappers:
244           build-timeout: '{build-timeout}'
245
246     builders:
247       # TODO: Install/test each RPM. Will require builder script changes.
248       # Test Carbon SR1 tarball
249       - inject:
250           # yamllint disable-line rule:line-length
251           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.1-Carbon/distribution-karaf-0.6.1-Carbon.tar.gz'
252       - shell: !include-raw: build-rpm.sh
253
254       # Test Carbon multipatch zip (no parallel tarball available)
255       - inject:
256           # yamllint disable-line rule:line-length
257           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/distribution-karaf/0.6.2-SNAPSHOT/distribution-karaf-0.6.2-20171002.113256-59.zip'
258       - shell: !include-raw: build-rpm.sh
259
260       # Test latest Carbon snapshot
261       - inject:
262           properties-content: 'STREAM=carbon'
263       - shell: !include-raw: build-rpm-snap.sh
264
265       # Test Nitrogen tarball
266       - inject:
267           # yamllint disable-line rule:line-length
268           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'
269       - shell: !include-raw: build-rpm.sh
270
271       # Test Nitrogen multipatch zip (no parallel tarball available)
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/karaf/0.7.1-SNAPSHOT/karaf-0.7.1-20171003.134117-9.zip'
275       - shell: !include-raw: build-rpm.sh
276
277       # Test latest Nitrogen snapshot
278       - inject:
279           properties-content: 'STREAM=nitrogen'
280       - shell: !include-raw: build-rpm-snap.sh
281
282       # Test Oxygen tarball
283       # TODO: Change this to an autorelease build once available
284       - inject:
285           # yamllint disable-line rule:line-length
286           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20170928.142221-597.tar.gz'
287       - shell: !include-raw: build-rpm.sh
288
289       # Test Oxygen multipatch zip (no parallel tarball available)
290       - inject:
291           # yamllint disable-line rule:line-length
292           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-20171003.122621-24.zip'
293       - shell: !include-raw: build-rpm.sh
294
295       # Test latest Oxygen snapshot
296       - inject:
297           properties-content: 'STREAM=oxygen'
298       - shell: !include-raw: build-rpm-snap.sh
299
300     triggers:
301       - timed: '@daily'
302       - gerrit:
303           server-name: '{server-name}'
304           trigger-on:
305             - comment-added-contains-event:
306                 comment-contains-value: 'verify-rpm-full'
307           projects:
308             - project-compare-type: ANT
309               project-pattern: '{project}'
310               branches:
311                 - branch-compare-type: ANT
312                   branch-pattern: '**/{branch}'
313
314     publishers:
315       - lf-infra-publish
316
317
318 - job-template:
319     name: 'packaging-test-rpm-master'
320
321     node: centos7-java-builder-2c-4g
322
323     parameters:
324       - opendaylight-infra-parameters:
325           os-cloud: '{os-cloud}'
326           project: '{project}'
327           branch: '{branch}'
328           refspec: 'refs/heads/{branch}'
329           artifacts: '{archive-artifacts}'
330       - string:
331           name: URL
332           # yamllint disable-line rule:line-length
333           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-60-release.repo'
334           description: 'Link to .repo or .rpm file'
335
336     scm:
337       - integration-gerrit-scm:
338           basedir: 'packaging'
339           refspec: '$GERRIT_REFSPEC'
340           branch: 'master'
341
342     wrappers:
343       - opendaylight-infra-wrappers:
344           build-timeout: '{build-timeout}'
345
346     builders:
347       - shell: !include-raw: install-rpm.sh
348       - shell: !include-raw: start-odl.sh
349       - shell: |
350           # Install expect to interact with Karaf shell
351           sudo yum install -y expect
352           # Install nmap to check status of ODL's SSH port
353           sudo yum install -y nmap
354       - shell: !include-raw: test-karaf.expect
355       - shell: !include-raw: stop-odl.sh
356
357     publishers:
358       # TODO: Remove the archive publisher
359       #       small data should be stored on logs.opendaylight.org
360       #       large data should be stored on nexus.opendaylight.org
361       - archive:
362           artifacts: '**'
363           allow-empty: true
364           fingerprint: true
365           latest-only: true
366       - lf-infra-publish
367
368
369 - job-template:
370     name: 'packaging-test-rpm-upgrade-master'
371
372     node: centos7-java-builder-2c-4g
373
374     parameters:
375       - opendaylight-infra-parameters:
376           os-cloud: '{os-cloud}'
377           project: '{project}'
378           branch: '{branch}'
379           refspec: 'refs/heads/{branch}'
380           artifacts: '{archive-artifacts}'
381       - string:
382           name: URL
383           # yamllint disable-line rule:line-length
384           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-6-release.repo'
385           description: 'Link to .repo or .rpm file'
386       - string:
387           name: UPGRADE_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-testing.repo'
390           description: 'Link to .repo or .rpm file'
391
392     scm:
393       - integration-gerrit-scm:
394           basedir: 'packaging'
395           refspec: '$GERRIT_REFSPEC'
396           branch: 'master'
397
398     wrappers:
399       - opendaylight-infra-wrappers:
400           build-timeout: '{build-timeout}'
401
402     builders:
403       - shell: !include-raw: install-rpm.sh
404       - shell: !include-raw: start-odl.sh
405       - shell: |
406           # Install expect to interact with Karaf shell
407           sudo yum install -y expect
408           # Install nmap to check status of ODL's SSH port
409           sudo yum install -y nmap
410       - shell: !include-raw: test-karaf.expect
411       - shell: !include-raw: stop-odl.sh
412       - shell: !include-raw: test-rpm-upgrade.sh
413       - shell: !include-raw: start-odl.sh
414       - shell: !include-raw: test-karaf.expect
415       - shell: !include-raw: stop-odl.sh
416
417     publishers:
418       - lf-infra-publish
419
420
421 - job-template:
422     name: 'packaging-test-deb-master'
423
424     node: ubuntu1604-mininet-ovs-25-2c-4g
425
426     parameters:
427       - opendaylight-infra-parameters:
428           os-cloud: '{os-cloud}'
429           project: '{project}'
430           branch: '{branch}'
431           refspec: 'refs/heads/{branch}'
432           artifacts: '{archive-artifacts}'
433       - string:
434           name: PACKAGE
435           default: 'ppa:odl-team/carbon'
436           description: 'Link to .deb package or name of PPA repo'
437
438     scm:
439       - integration-gerrit-scm:
440           basedir: 'packaging'
441           refspec: '$GERRIT_REFSPEC'
442           branch: 'master'
443
444     wrappers:
445       - opendaylight-infra-wrappers:
446           build-timeout: '{build-timeout}'
447
448     builders:
449       - shell: !include-raw: install-deb.sh
450       - shell: !include-raw: start-odl.sh
451       - shell: |
452           # Install expect to interact with Karaf shell
453           sudo apt-get install -y expect
454           # Install nmap to check status of ODL's SSH port
455           sudo apt-get install -y nmap
456       - shell: !include-raw: test-karaf.expect
457       - shell: !include-raw: stop-odl.sh
458
459     publishers:
460       - lf-infra-publish
461
462
463 - job-template:
464     name: 'packaging-build-deb-{stream}'
465
466     node: ubuntu1604-mininet-ovs-25-2c-4g
467
468     project-type: freestyle
469
470     mvn-opts: ''
471     mvn-params: ''
472     mvn-version: mvn33
473
474     properties:
475       - opendaylight-infra-properties:
476           build-days-to-keep: 7
477
478     parameters:
479       - opendaylight-infra-parameters:
480           os-cloud: '{os-cloud}'
481           project: '{project}'
482           branch: '{branch}'
483           refspec: 'refs/heads/{branch}'
484           artifacts: '{archive-artifacts}'
485       - lf-infra-maven-parameters:
486           mvn-opts: '{mvn-opts}'
487           mvn-params: '{mvn-params}'
488           mvn-version: '{mvn-version}'
489           staging-profile-id: ''
490       - string:
491           name: DOWNLOAD_URL
492           # FIXME: Update the default value to an active stream.
493           # yamllint disable-line rule:line-length
494           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'
495           description: 'URL to ODL tarball artifact to repackage into .deb'
496       - string:
497           name: CHANGELOG_NAME
498           default: 'Jenkins'
499           description: 'Name of person who defined .deb'
500       - string:
501           name: CHANGELOG_EMAIL
502           default: 'jenkins-donotreply@opendaylight.org'
503           description: 'Email of person who defined .deb'
504
505     scm:
506       - integration-gerrit-scm:
507           basedir: 'packaging'
508           refspec: '$GERRIT_REFSPEC'
509           branch: 'master'
510
511     wrappers:
512       - opendaylight-infra-wrappers:
513           build-timeout: '{build-timeout}'
514
515     builders:
516       - shell: !include-raw: build-deb.sh
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