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