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