Update URLs in RPM tests
[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       # NB: This will need to be updated as old builds expire
277       - inject:
278           # yamllint disable-line rule:line-length
279           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-20180115.181738-1.zip'
280       - shell: !include-raw: build-rpm.sh
281
282       # Test latest Carbon snapshot
283       - inject:
284           properties-content: 'STREAM=carbon'
285       - shell: !include-raw: build-rpm-snap.sh
286
287       # Test Nitrogen tarball
288       - inject:
289           # yamllint disable-line rule:line-length
290           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'
291       - shell: !include-raw: build-rpm.sh
292
293       # Test Nitrogen SR1 tarball
294       - inject:
295           # yamllint disable-line rule:line-length
296           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'
297       - shell: !include-raw: build-rpm.sh
298
299       # Test Nitrogen multipatch zip (no parallel tarball available)
300       # NB: This will need to be updated as old builds expire
301       - inject:
302           # yamllint disable-line rule:line-length
303           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-20180115.183312-2.zip'
304       - shell: !include-raw: build-rpm.sh
305
306       # Test latest Nitrogen snapshot
307       - inject:
308           properties-content: 'STREAM=nitrogen'
309       - shell: !include-raw: build-rpm-snap.sh
310
311       # Test Oxygen pre-release autorelease tarball
312       # NB: This will need to be updated as old builds expire
313       - inject:
314           # yamllint disable-line rule:line-length
315           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'
316       - shell: !include-raw: build-rpm.sh
317
318       # Test Oxygen multipatch zip (no parallel tarball available)
319       # NB: This will need to be updated as old builds expire
320       - inject:
321           # yamllint disable-line rule:line-length
322           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-20180111.030942-90.zip'
323       - shell: !include-raw: build-rpm.sh
324
325       # Test latest Oxygen snapshot
326       - inject:
327           properties-content: 'STREAM=oxygen'
328       - shell: !include-raw: build-rpm-snap.sh
329
330     triggers:
331       - timed: '@daily'
332       - gerrit:
333           server-name: '{gerrit-server-name}'
334           trigger-on:
335             - comment-added-contains-event:
336                 comment-contains-value: 'verify-rpm-full'
337           projects:
338             - project-compare-type: ANT
339               project-pattern: '{project}'
340               branches:
341                 - branch-compare-type: ANT
342                   branch-pattern: '**/{branch}'
343
344     publishers:
345       - lf-infra-publish
346
347
348 - job-template:
349     name: 'packaging-test-rpm-master'
350
351     node: centos7-builder-2c-8g
352
353     parameters:
354       - opendaylight-infra-parameters:
355           os-cloud: '{os-cloud}'
356           project: '{project}'
357           branch: '{branch}'
358           refspec: 'refs/heads/{branch}'
359           artifacts: '{archive-artifacts}'
360       - string:
361           name: URL
362           # yamllint disable-line rule:line-length
363           default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-8-devel.repo'
364           description: 'Link to .repo or .rpm file'
365
366     scm:
367       - integration-gerrit-scm:
368           basedir: 'packaging'
369           refspec: '$GERRIT_REFSPEC'
370           branch: 'master'
371
372     wrappers:
373       - opendaylight-infra-wrappers:
374           build-timeout: '{build-timeout}'
375
376     builders:
377       - shell: !include-raw: install-rpm.sh
378       - shell: !include-raw: start-odl.sh
379       - shell: |
380           # Install expect to interact with Karaf shell
381           sudo yum install -y expect
382           # Install nmap to check status of ODL's SSH port
383           sudo yum install -y nmap
384       - shell: !include-raw: test-karaf.expect
385       - shell: !include-raw: stop-odl.sh
386
387     publishers:
388       # TODO: Remove the archive publisher
389       #       small data should be stored on logs.opendaylight.org
390       #       large data should be stored on nexus.opendaylight.org
391       - archive:
392           artifacts: '**'
393           allow-empty: true
394           fingerprint: true
395           latest-only: true
396       - lf-infra-publish
397
398
399 - job-template:
400     name: 'packaging-test-rpm-upgrade-master'
401
402     node: centos7-builder-2c-8g
403
404     parameters:
405       - opendaylight-infra-parameters:
406           os-cloud: '{os-cloud}'
407           project: '{project}'
408           branch: '{branch}'
409           refspec: 'refs/heads/{branch}'
410           artifacts: '{archive-artifacts}'
411       - string:
412           name: URL
413           # yamllint disable-line rule:line-length
414           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-release.repo'
415           description: 'Link to .repo or .rpm file'
416       - string:
417           name: UPGRADE_URL
418           # yamllint disable-line rule:line-length
419           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-devel.repo'
420           description: 'Link to .repo or .rpm file'
421
422     scm:
423       - integration-gerrit-scm:
424           basedir: 'packaging'
425           refspec: '$GERRIT_REFSPEC'
426           branch: 'master'
427
428     wrappers:
429       - opendaylight-infra-wrappers:
430           build-timeout: '{build-timeout}'
431
432     builders:
433       - shell: !include-raw: install-rpm.sh
434       - shell: !include-raw: start-odl.sh
435       - shell: |
436           # Install expect to interact with Karaf shell
437           sudo yum install -y expect
438           # Install nmap to check status of ODL's SSH port
439           sudo yum install -y nmap
440       - shell: !include-raw: test-karaf.expect
441       - shell: !include-raw: stop-odl.sh
442       - shell: !include-raw: test-rpm-upgrade.sh
443       - shell: !include-raw: start-odl.sh
444       - shell: !include-raw: test-karaf.expect
445       - shell: !include-raw: stop-odl.sh
446
447     publishers:
448       - lf-infra-publish
449
450
451 - job-template:
452     name: 'packaging-test-deb-master'
453
454     node: ubuntu1604-mininet-ovs-25-1c-4g
455
456     parameters:
457       - opendaylight-infra-parameters:
458           os-cloud: '{os-cloud}'
459           project: '{project}'
460           branch: '{branch}'
461           refspec: 'refs/heads/{branch}'
462           artifacts: '{archive-artifacts}'
463       - string:
464           name: PACKAGE
465           default: 'ppa:odl-team/carbon'
466           description: 'Link to .deb package or name of PPA repo'
467
468     scm:
469       - integration-gerrit-scm:
470           basedir: 'packaging'
471           refspec: '$GERRIT_REFSPEC'
472           branch: 'master'
473
474     wrappers:
475       - opendaylight-infra-wrappers:
476           build-timeout: '{build-timeout}'
477
478     builders:
479       - shell: !include-raw: install-deb.sh
480       - shell: !include-raw: start-odl.sh
481       - shell: |
482           # Install expect to interact with Karaf shell
483           sudo apt-get install -y expect
484           # Install nmap to check status of ODL's SSH port
485           sudo apt-get install -y nmap
486       - shell: !include-raw: test-karaf.expect
487       - shell: !include-raw: stop-odl.sh
488
489     publishers:
490       - lf-infra-publish
491
492
493 - job-template:
494     name: 'packaging-build-deb-{stream}'
495
496     node: ubuntu1604-mininet-ovs-25-1c-4g
497
498     project-type: freestyle
499
500     mvn-opts: ''
501     mvn-params: ''
502     mvn-version: mvn33
503
504     properties:
505       - opendaylight-infra-properties:
506           build-days-to-keep: 7
507
508     parameters:
509       - opendaylight-infra-parameters:
510           os-cloud: '{os-cloud}'
511           project: '{project}'
512           branch: '{branch}'
513           refspec: 'refs/heads/{branch}'
514           artifacts: '{archive-artifacts}'
515       - lf-infra-maven-parameters:
516           mvn-opts: '{mvn-opts}'
517           mvn-params: '{mvn-params}'
518           mvn-version: '{mvn-version}'
519           staging-profile-id: ''
520       - string:
521           name: DOWNLOAD_URL
522           # FIXME: Update the default value to an active stream.
523           # yamllint disable-line rule:line-length
524           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'
525           description: 'URL to ODL tarball artifact to repackage into .deb'
526       - string:
527           name: CHANGELOG_NAME
528           default: 'Jenkins'
529           description: 'Name of person who defined .deb'
530       - string:
531           name: CHANGELOG_EMAIL
532           default: 'jenkins-donotreply@opendaylight.org'
533           description: 'Email of person who defined .deb'
534
535     scm:
536       - integration-gerrit-scm:
537           basedir: 'packaging'
538           refspec: '$GERRIT_REFSPEC'
539           branch: 'master'
540
541     wrappers:
542       - opendaylight-infra-wrappers:
543           build-timeout: '{build-timeout}'
544
545     builders:
546       - shell: !include-raw: build-deb.sh
547       - lf-infra-deploy-maven-file:
548           global-settings-file: 'global-settings'
549           settings-file: 'packaging-settings'
550           mvn-version: '{mvn-version}'
551           repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
552           group-id: '{group-id}'
553           upload-files-dir: '{upload-files-dir}'
554           maven-repo-url: '{maven-repo-url}'
555
556     publishers:
557       - lf-infra-publish