Create Neon jobs and bump fluorine branch
[releng/builder.git] / jjb / packaging / packaging.yaml
1 ---
2 - project:
3     name: packaging
4     project-name: packaging
5
6     jobs:
7       - '{project-name}-rtd-jobs':
8           build-node: centos7-builder-2c-2g
9           doc-dir: .tox/docs/tmp/html
10           project-pattern: integration/packaging
11           rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-integrationpackaging/32928/
12           rtd-token: 371d63c43ad99b0745bb7779e3488c5e255c1180
13       - 'packaging-build-rpm-{stream}'
14       - 'packaging-build-rpm-{distro}-snap-{stream}'
15       - 'packaging-build-deb-{stream}'
16       - 'packaging-verify-full-rpm-master'
17       - 'packaging-verify-rpm-master'
18       - 'packaging-test-rpm-master'
19       - 'packaging-test-rpm-upgrade-master'
20       - 'packaging-test-deb-master'
21       - gerrit-tox-verify:
22           branch: master
23           stream: master
24
25     project: 'integration/packaging'
26
27     stream:
28       - neon
29       - fluorine
30       - oxygen
31     distro:
32       - opensuse-42
33       - epel-7
34     branch: 'master'
35
36     # common parameters required for 'lf-infra-deploy-maven-file' builder
37     group-id: 'org.opendaylight.integration-packaging'
38     upload-files-dir: '$WORKSPACE/upload_files'
39     maven-repo-url: '$NEXUS_URL/content/repositories/$REPO_ID'
40
41 - job-template:
42     name: 'packaging-build-rpm-{stream}'
43
44     node: centos7-builder-2c-2g
45
46     project-type: freestyle
47
48     mvn-opts: ''
49     mvn-params: ''
50     mvn-version: mvn33
51
52     properties:
53       - opendaylight-infra-properties:
54           build-days-to-keep: 7
55
56     parameters:
57       - opendaylight-infra-parameters:
58           os-cloud: '{os-cloud}'
59           project: '{project}'
60           branch: '{branch}'
61           refspec: 'refs/heads/{branch}'
62           artifacts: '{archive-artifacts}'
63       - lf-infra-maven-parameters:
64           mvn-opts: '{mvn-opts}'
65           mvn-params: '{mvn-params}'
66           mvn-version: '{mvn-version}'
67           staging-profile-id: ''
68       - string:
69           name: DOWNLOAD_URL
70           # yamllint disable-line rule:line-length
71           default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
72           description: 'URL to ODL tarball artifact to repackage into RPM'
73       - string:
74           name: CHANGELOG_NAME
75           default: 'Jenkins'
76           description: 'Name of person who defined RPM'
77       - string:
78           name: CHANGELOG_EMAIL
79           default: 'jenkins-donotreply@opendaylight.org'
80           description: 'Email of person who defined RPM'
81       - string:
82           name: DEPLOY_TO_REPO
83           default: 'opendaylight-{stream}-epel-7-x86_64-devel'
84           description: 'Repository to deploy resulting package to'
85
86     scm:
87       - integration-gerrit-scm:
88           basedir: 'packaging'
89           refspec: '$GERRIT_REFSPEC'
90           branch: 'master'
91
92     wrappers:
93       - opendaylight-infra-wrappers:
94           build-timeout: '{build-timeout}'
95
96     builders:
97       - shell: !include-raw-escape: build-rpm.sh
98       - install-test-uninstall-rpm
99       - lf-infra-deploy-maven-file:
100           global-settings-file: 'global-settings'
101           settings-file: 'packaging-settings'
102           mvn-version: '{mvn-version}'
103           repo-id: '$DEPLOY_TO_REPO'
104           group-id: '{group-id}'
105           upload-files-dir: '{upload-files-dir}'
106           maven-repo-url: '{maven-repo-url}'
107
108     publishers:
109       - lf-infra-publish
110
111
112 - job-template:
113     name: 'packaging-build-rpm-{distro}-snap-{stream}'
114
115     node: centos7-docker-2c-2g
116
117     project-type: freestyle
118
119     mvn-opts: ''
120     mvn-params: ''
121     mvn-version: mvn33
122
123     properties:
124       - opendaylight-infra-properties:
125           build-days-to-keep: 7
126
127     parameters:
128       - opendaylight-infra-parameters:
129           os-cloud: '{os-cloud}'
130           project: '{project}'
131           branch: '{branch}'
132           refspec: 'refs/heads/{branch}'
133           artifacts: '{archive-artifacts}'
134       - lf-infra-maven-parameters:
135           mvn-opts: '{mvn-opts}'
136           mvn-params: '{mvn-params}'
137           mvn-version: '{mvn-version}'
138           staging-profile-id: ''
139       - string:
140           name: CHANGELOG_NAME
141           default: 'Jenkins'
142           description: 'Name of person who defined RPM'
143       - string:
144           name: CHANGELOG_EMAIL
145           default: 'jenkins-donotreply@opendaylight.org'
146           description: 'Email of person who defined RPM'
147
148     scm:
149       - integration-gerrit-scm:
150           basedir: 'packaging'
151           refspec: '$GERRIT_REFSPEC'
152           branch: 'master'
153
154     wrappers:
155       - opendaylight-infra-wrappers:
156           build-timeout: '{build-timeout}'
157
158     builders:
159       - inject:
160           properties-content: |
161               STREAM={stream}
162               DISTRO={distro}
163       - shell: !include-raw: build-rpm-snap-docker.sh
164       - shell: !include-raw: test-rpm-docker.sh
165       - lf-infra-deploy-maven-file:
166           global-settings-file: 'global-settings'
167           settings-file: 'packaging-settings'
168           mvn-version: '{mvn-version}'
169           repo-id: 'opendaylight-{stream}-{distro}-x86_64-devel'
170           group-id: '{group-id}'
171           upload-files-dir: '{upload-files-dir}'
172           maven-repo-url: '{maven-repo-url}'
173
174     triggers:
175       - timed: '@daily'
176
177     publishers:
178       - lf-infra-publish
179
180
181 - job-template:
182     name: 'packaging-verify-rpm-master'
183
184     node: centos7-builder-2c-2g
185
186     project-type: freestyle
187
188     parameters:
189       - opendaylight-infra-parameters:
190           os-cloud: '{os-cloud}'
191           project: '{project}'
192           branch: '{branch}'
193           refspec: 'refs/heads/{branch}'
194           artifacts: '{archive-artifacts}'
195
196     scm:
197       - integration-gerrit-scm:
198           basedir: 'packaging'
199           refspec: '$GERRIT_REFSPEC'
200           branch: 'master'
201
202     wrappers:
203       - opendaylight-infra-wrappers:
204           build-timeout: '{build-timeout}'
205
206     builders:
207       # Test Oxygen SR2 release tarball
208       - inject:
209           # yamllint disable-line rule:line-length
210           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.2/karaf-0.8.2.tar.gz'
211       - shell: !include-raw-escape: build-rpm.sh
212       - install-test-uninstall-rpm
213
214       # Test latest Oxygen snapshot
215       - inject:
216           properties-content: 'STREAM=oxygen'
217       - shell: !include-raw: build-rpm-snap.sh
218       - install-test-uninstall-rpm
219
220       # Test Fluorine pre-release autorelease tarball
221       # NB: This will need to be updated as old builds expire
222       - inject:
223           # yamllint disable-line rule:line-length
224           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2265/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
225       - shell: !include-raw-escape: build-rpm.sh
226       - install-test-uninstall-rpm
227
228       # Test Fluorine multipatch zip (no parallel tarball available)
229       # NB: This will need to be updated as old builds expire
230       - inject:
231           # yamllint disable-line rule:line-length
232           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180802.041004-76.zip'
233       - shell: !include-raw-escape: build-rpm.sh
234       - install-test-uninstall-rpm
235
236       # Test latest Fluorine snapshot
237       - inject:
238           properties-content: 'STREAM=fluorine'
239       - shell: !include-raw: build-rpm-snap.sh
240       - install-test-uninstall-rpm
241
242     triggers:
243       - gerrit-trigger-patch-submitted:
244           gerrit-server-name: '{gerrit-server-name}'
245           project: '{project}'
246           branch: '{branch}'
247           files: 'packages/**'
248           forbidden-files: ''
249
250     publishers:
251       - lf-infra-publish
252
253
254 - job-template:
255     name: 'packaging-verify-full-rpm-master'
256
257     node: centos7-builder-2c-2g
258
259     project-type: freestyle
260
261     parameters:
262       - opendaylight-infra-parameters:
263           os-cloud: '{os-cloud}'
264           project: '{project}'
265           branch: '{branch}'
266           refspec: 'refs/heads/{branch}'
267           artifacts: '{archive-artifacts}'
268
269     scm:
270       - integration-gerrit-scm:
271           basedir: 'packaging'
272           refspec: '$GERRIT_REFSPEC'
273           branch: 'master'
274
275     wrappers:
276       - opendaylight-infra-wrappers:
277           build-timeout: '{build-timeout}'
278
279     builders:
280       # Test Oxygen SR2 release 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.8.2/karaf-0.8.2.tar.gz'
284       - shell: !include-raw-escape: build-rpm.sh
285       - install-test-uninstall-rpm
286
287       # Test Oxygen pre-release autorelease tarball
288       # NB: This will need to be updated as old builds expire
289       - inject:
290           # yamllint disable-line rule:line-length
291           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2261/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
292       - shell: !include-raw-escape: build-rpm.sh
293       - install-test-uninstall-rpm
294
295       # Test Oxygen multipatch zip (no parallel tarball available)
296       # NB: This will need to be updated as old builds expire
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.3-SNAPSHOT/karaf-0.8.3-20180726.143755-1.zip'
300       - shell: !include-raw-escape: build-rpm.sh
301       - install-test-uninstall-rpm
302
303       # Test latest Oxygen snapshot
304       - inject:
305           properties-content: 'STREAM=oxygen'
306       - shell: !include-raw: build-rpm-snap.sh
307       - install-test-uninstall-rpm
308
309       # Test Fluorine pre-release autorelease tarball
310       # NB: This will need to be updated as old builds expire
311       - inject:
312           # yamllint disable-line rule:line-length
313           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2265/org/opendaylight/integration/karaf/0.9.0/karaf-0.9.0.tar.gz'
314       - shell: !include-raw-escape: build-rpm.sh
315       - install-test-uninstall-rpm
316
317       # Test Fluorine multipatch zip (no parallel tarball available)
318       # NB: This will need to be updated as old builds expire
319       - inject:
320           # yamllint disable-line rule:line-length
321           properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.0-SNAPSHOT/karaf-0.9.0-20180802.041004-76.zip'
322       - shell: !include-raw-escape: build-rpm.sh
323       - install-test-uninstall-rpm
324
325       # Test latest Fluorine snapshot
326       - inject:
327           properties-content: 'STREAM=fluorine'
328       - shell: !include-raw: build-rpm-snap.sh
329       - install-test-uninstall-rpm
330
331     triggers:
332       - timed: '@daily'
333       - gerrit:
334           server-name: '{gerrit-server-name}'
335           trigger-on:
336             - comment-added-contains-event:
337                 comment-contains-value: 'verify-rpm-full'
338           projects:
339             - project-compare-type: ANT
340               project-pattern: '{project}'
341               branches:
342                 - branch-compare-type: ANT
343                   branch-pattern: '**/{branch}'
344
345     publishers:
346       - lf-infra-publish
347
348
349 - job-template:
350     name: 'packaging-test-rpm-master'
351
352     node: centos7-builder-2c-2g
353
354     parameters:
355       - opendaylight-infra-parameters:
356           os-cloud: '{os-cloud}'
357           project: '{project}'
358           branch: '{branch}'
359           refspec: 'refs/heads/{branch}'
360           artifacts: '{archive-artifacts}'
361       - string:
362           name: URL
363           # yamllint disable-line rule:line-length
364           default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
365           description: 'Link to .repo or .rpm file'
366
367     scm:
368       - integration-gerrit-scm:
369           basedir: 'packaging'
370           refspec: '$GERRIT_REFSPEC'
371           branch: 'master'
372
373     wrappers:
374       - opendaylight-infra-wrappers:
375           build-timeout: '{build-timeout}'
376
377     builders:
378       - shell: |
379           # Install expect to interact with Karaf shell
380           # Install nmap to check status of ODL's SSH port
381           sudo yum install -y expect nmap
382       - shell: !include-raw-escape: install-rpm.sh
383       - shell: !include-raw: start-odl.sh
384       - shell: !include-raw-escape: test-ports-nofeature.sh
385       - shell: !include-raw: test-karaf-oxygensafe.expect
386       # Disable this test until ODLPARENT-139 is fixed
387       # - shell: !include-raw-escape: test-rest-ok.sh
388       - shell: !include-raw: stop-odl.sh
389       - shell: !include-raw: uninstall-rpm.sh
390
391     publishers:
392       # TODO: Remove the archive publisher
393       #       small data should be stored on logs.opendaylight.org
394       #       large data should be stored on nexus.opendaylight.org
395       - archive:
396           artifacts: '**'
397           allow-empty: true
398           fingerprint: true
399           latest-only: true
400       - lf-infra-publish
401
402
403 - job-template:
404     name: 'packaging-test-rpm-upgrade-master'
405
406     node: centos7-builder-2c-2g
407
408     parameters:
409       - opendaylight-infra-parameters:
410           os-cloud: '{os-cloud}'
411           project: '{project}'
412           branch: '{branch}'
413           refspec: 'refs/heads/{branch}'
414           artifacts: '{archive-artifacts}'
415       - string:
416           name: URL
417           # yamllint disable-line rule:line-length
418           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-8-release.repo'
419           description: 'Link to .repo or .rpm file'
420       - string:
421           name: UPGRADE_URL
422           # yamllint disable-line rule:line-length
423           default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-8-devel.repo'
424           description: 'Link to .repo or .rpm file'
425
426     scm:
427       - integration-gerrit-scm:
428           basedir: 'packaging'
429           refspec: '$GERRIT_REFSPEC'
430           branch: 'master'
431
432     wrappers:
433       - opendaylight-infra-wrappers:
434           build-timeout: '{build-timeout}'
435
436     builders:
437       - shell: !include-raw-escape: install-rpm.sh
438       - shell: !include-raw: start-odl.sh
439       - shell: |
440           # Install expect to interact with Karaf shell
441           sudo yum install -y expect
442           # Install nmap to check status of ODL's SSH port
443           sudo yum install -y nmap
444       - shell: !include-raw: test-karaf-oxygensafe.expect
445       - shell: !include-raw: stop-odl.sh
446       - shell: !include-raw: test-rpm-upgrade.sh
447       - shell: !include-raw: start-odl.sh
448       - shell: !include-raw: test-karaf-oxygensafe.expect
449       - shell: !include-raw: stop-odl.sh
450       - shell: !include-raw: uninstall-rpm.sh
451
452     publishers:
453       - lf-infra-publish
454
455
456 - job-template:
457     name: 'packaging-test-deb-master'
458
459     node: ubuntu1604-mininet-ovs-25-1c-4g
460
461     parameters:
462       - opendaylight-infra-parameters:
463           os-cloud: '{os-cloud}'
464           project: '{project}'
465           branch: '{branch}'
466           refspec: 'refs/heads/{branch}'
467           artifacts: '{archive-artifacts}'
468       - string:
469           name: PACKAGE
470           default: 'ppa:odl-team/oxygen'
471           description: 'Link to .deb package or name of PPA repo'
472
473     scm:
474       - integration-gerrit-scm:
475           basedir: 'packaging'
476           refspec: '$GERRIT_REFSPEC'
477           branch: 'master'
478
479     wrappers:
480       - opendaylight-infra-wrappers:
481           build-timeout: '{build-timeout}'
482
483     builders:
484       - shell: !include-raw-escape: install-deb.sh
485       - shell: !include-raw: start-odl.sh
486       - shell: !include-raw-escape: test-ports-nofeature.sh
487       - shell: |
488           # Install expect to interact with Karaf shell
489           # Install nmap to check status of ODL's SSH port
490           sudo apt-get install -y expect nmap
491       - shell: !include-raw: test-karaf-oxygensafe.expect
492       # Disable this test until ODLPARENT-139 is fixed
493       # - shell: !include-raw-escape: test-rest-ok.sh
494       - shell: !include-raw: stop-odl.sh
495       - shell: !include-raw-escape: uninstall-deb.sh
496
497     publishers:
498       - lf-infra-publish
499
500
501 - job-template:
502     name: 'packaging-build-deb-{stream}'
503
504     node: ubuntu1604-mininet-ovs-25-1c-4g
505
506     project-type: freestyle
507
508     mvn-opts: ''
509     mvn-params: ''
510     mvn-version: mvn33
511
512     properties:
513       - opendaylight-infra-properties:
514           build-days-to-keep: 7
515
516     parameters:
517       - opendaylight-infra-parameters:
518           os-cloud: '{os-cloud}'
519           project: '{project}'
520           branch: '{branch}'
521           refspec: 'refs/heads/{branch}'
522           artifacts: '{archive-artifacts}'
523       - lf-infra-maven-parameters:
524           mvn-opts: '{mvn-opts}'
525           mvn-params: '{mvn-params}'
526           mvn-version: '{mvn-version}'
527           staging-profile-id: ''
528       - string:
529           name: DOWNLOAD_URL
530           # FIXME: Update the default value to an active stream.
531           # yamllint disable-line rule:line-length
532           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'
533           description: 'URL to ODL tarball artifact to repackage into .deb'
534       - string:
535           name: CHANGELOG_NAME
536           default: 'Jenkins'
537           description: 'Name of person who defined .deb'
538       - string:
539           name: CHANGELOG_EMAIL
540           default: 'jenkins-donotreply@opendaylight.org'
541           description: 'Email of person who defined .deb'
542
543     scm:
544       - integration-gerrit-scm:
545           basedir: 'packaging'
546           refspec: '$GERRIT_REFSPEC'
547           branch: 'master'
548
549     wrappers:
550       - opendaylight-infra-wrappers:
551           build-timeout: '{build-timeout}'
552
553     builders:
554       - shell: !include-raw: build-deb.sh
555       - install-test-uninstall-deb
556       - lf-infra-deploy-maven-file:
557           global-settings-file: 'global-settings'
558           settings-file: 'packaging-settings'
559           mvn-version: '{mvn-version}'
560           repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
561           group-id: '{group-id}'
562           upload-files-dir: '{upload-files-dir}'
563           maven-repo-url: '{maven-repo-url}'
564
565     publishers:
566       - lf-infra-publish
567
568 - view:
569     name: packaging
570     description: 'List of packaging, ansible and puppet jobs'
571     regex: '^packaging.*|ansible.*|puppet.*'
572     <<: *releng_view_common