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