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