4 project-name: packaging
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}':
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':
27 project: 'integration/packaging'
39 # common parameters required for 'lf-infra-deploy-maven-file' builder
40 group-id: 'org.opendaylight.integration-packaging'
41 upload-files-dir: '$WORKSPACE/upload_files'
42 maven-repo-url: '$NEXUS_URL/content/repositories/$REPO_ID'
45 name: 'packaging-build-rpm-{stream}'
49 node: centos7-builder-2c-2g
51 project-type: freestyle
52 disabled: '{disable-job}'
59 - opendaylight-infra-properties:
63 - opendaylight-infra-parameters:
64 os-cloud: '{os-cloud}'
67 refspec: 'refs/heads/{branch}'
68 artifacts: '{archive-artifacts}'
69 - lf-infra-maven-parameters:
70 mvn-opts: '{mvn-opts}'
71 mvn-params: '{mvn-params}'
72 mvn-version: '{mvn-version}'
73 staging-profile-id: ''
76 # yamllint disable-line rule:line-length
77 default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.4/karaf-0.8.4.tar.gz'
78 description: 'URL to ODL tarball artifact to repackage into RPM'
82 description: 'Name of person who defined RPM'
85 default: 'jenkins-donotreply@opendaylight.org'
86 description: 'Email of person who defined RPM'
89 default: 'opendaylight-{stream}-epel-7-x86_64-devel'
90 description: 'Repository to deploy resulting package to'
92 name: PKG_VERSION_OVERRIDE
94 description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
97 - integration-gerrit-scm:
99 refspec: '$GERRIT_REFSPEC'
103 - opendaylight-infra-wrappers:
104 build-timeout: '{build-timeout}'
108 - shell: !include-raw-escape: build-rpm.sh
109 - install-test-uninstall-rpm
110 - lf-infra-deploy-maven-file:
111 global-settings-file: 'global-settings'
112 settings-file: 'packaging-settings'
113 mvn-version: '{mvn-version}'
114 repo-id: '$DEPLOY_TO_REPO'
115 group-id: '{group-id}'
116 upload-files-dir: '{upload-files-dir}'
117 maven-repo-url: '{maven-repo-url}'
124 name: 'packaging-build-rpm-{distro}-snap-{stream}'
126 node: centos7-docker-2c-2g
129 project-type: freestyle
130 disabled: '{disable-job}'
137 - opendaylight-infra-properties:
138 build-days-to-keep: 7
141 - opendaylight-infra-parameters:
142 os-cloud: '{os-cloud}'
145 refspec: 'refs/heads/{branch}'
146 artifacts: '{archive-artifacts}'
147 - lf-infra-maven-parameters:
148 mvn-opts: '{mvn-opts}'
149 mvn-params: '{mvn-params}'
150 mvn-version: '{mvn-version}'
151 staging-profile-id: ''
155 description: 'Name of person who defined RPM'
157 name: CHANGELOG_EMAIL
158 default: 'jenkins-donotreply@opendaylight.org'
159 description: 'Email of person who defined RPM'
162 - integration-gerrit-scm:
164 refspec: '$GERRIT_REFSPEC'
168 - opendaylight-infra-wrappers:
169 build-timeout: '{build-timeout}'
174 properties-content: |
177 - shell: !include-raw: build-rpm-snap-docker.sh
178 - shell: !include-raw: test-rpm-docker.sh
179 - lf-infra-deploy-maven-file:
180 global-settings-file: 'global-settings'
181 settings-file: 'packaging-settings'
182 mvn-version: '{mvn-version}'
183 repo-id: 'opendaylight-{stream}-{distro}-x86_64-devel'
184 group-id: '{group-id}'
185 upload-files-dir: '{upload-files-dir}'
186 maven-repo-url: '{maven-repo-url}'
196 name: 'packaging-verify-rpm-master'
198 node: centos7-builder-2c-2g
201 project-type: freestyle
202 disabled: '{disable-job}'
205 - opendaylight-infra-parameters:
206 os-cloud: '{os-cloud}'
209 refspec: 'refs/heads/{branch}'
210 artifacts: '{archive-artifacts}'
213 - integration-gerrit-scm:
215 refspec: '$GERRIT_REFSPEC'
219 - opendaylight-infra-wrappers:
220 build-timeout: '{build-timeout}'
223 # Test Fluorine SR2 release tarball
225 # yamllint disable-line rule:line-length
226 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.2/karaf-0.9.2.tar.gz'
227 - shell: !include-raw-escape: build-rpm.sh
228 - install-test-uninstall-rpm
230 # Test Fluorine SR3 release tarball
232 # yamllint disable-line rule:line-length
233 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.3/karaf-0.9.3.tar.gz'
234 - shell: !include-raw-escape: build-rpm.sh
235 - install-test-uninstall-rpm
237 # Test Neon SR1 ('Managed Release Common Distro') release tarball
239 # yamllint disable-line rule:line-length
240 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.10.1/opendaylight-0.10.1.tar.gz'
241 - shell: !include-raw-escape: build-rpm.sh
242 - install-test-uninstall-rpm
244 # Test latest Neon snapshot
246 properties-content: 'STREAM=neon'
247 - shell: !include-raw: build-rpm-snap.sh
248 - install-test-uninstall-rpm
250 # Test latest Sodium snapshot
252 properties-content: 'STREAM=sodium'
253 - shell: !include-raw: build-rpm-snap.sh
254 - install-test-uninstall-rpm
258 - gerrit-trigger-patch-submitted:
259 gerrit-server-name: '{gerrit-server-name}'
270 name: 'packaging-verify-full-rpm-master'
272 node: centos7-builder-2c-2g
275 project-type: freestyle
276 disabled: '{disable-job}'
279 - opendaylight-infra-parameters:
280 os-cloud: '{os-cloud}'
283 refspec: 'refs/heads/{branch}'
284 artifacts: '{archive-artifacts}'
287 - integration-gerrit-scm:
289 refspec: '$GERRIT_REFSPEC'
293 - opendaylight-infra-wrappers:
294 build-timeout: '{build-timeout}'
297 # Test Fluorine ('Managed Release Common Distro') release tarball
299 # yamllint disable-line rule:line-length
300 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
301 - shell: !include-raw-escape: build-rpm.sh
302 - install-test-uninstall-rpm
304 # Test Fluorine SR1 release tarball
306 # yamllint disable-line rule:line-length
307 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.1/karaf-0.9.1.tar.gz'
308 - shell: !include-raw-escape: build-rpm.sh
309 - install-test-uninstall-rpm
311 # Test Fluorine SR2 release tarball
313 # yamllint disable-line rule:line-length
314 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.2/karaf-0.9.2.tar.gz'
315 - shell: !include-raw-escape: build-rpm.sh
316 - install-test-uninstall-rpm
318 # Test Fluorine SR3 release tarball
320 # yamllint disable-line rule:line-length
321 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.3/karaf-0.9.3.tar.gz'
322 - shell: !include-raw-escape: build-rpm.sh
323 - install-test-uninstall-rpm
325 # Test Fluorine pre-release autorelease tarball
326 # NB: This will need to be updated as old builds expire
327 # NB: Commented out to reduce maintenance
329 # yamllint disable-line rule:line-length
330 # properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2621/org/opendaylight/integration/karaf/0.9.2/karaf-0.9.2.tar.gz'
331 # - shell: !include-raw-escape: build-rpm.sh
332 # - install-test-uninstall-rpm
334 # Test Fluorine multipatch zip (no parallel tarball available)
335 # NB: This will need to be updated as old builds expire
336 # NB: Commented out to reduce maintenance
338 # yamllint disable-line rule:line-length
339 # properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.2-SNAPSHOT/karaf-0.9.2-20181222.162905-8.zip'
340 # - shell: !include-raw-escape: build-rpm.sh
341 # - install-test-uninstall-rpm
343 # Test latest Fluorine snapshot
345 properties-content: 'STREAM=fluorine'
346 - shell: !include-raw: build-rpm-snap.sh
347 - install-test-uninstall-rpm
349 # Test Neon SR1 release tarball
351 # yamllint disable-line rule:line-length
352 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.10.1/karaf-0.10.1.tar.gz'
353 - shell: !include-raw-escape: build-rpm.sh
354 - install-test-uninstall-rpm
356 # Test Neon pre-release autorelease tarball
357 # NB: This will need to be updated as old builds expire
358 # NB: Commented out to reduce maintenance
360 # yamllint disable-line rule:line-length
361 # 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'
362 # - shell: !include-raw-escape: build-rpm.sh
363 # - install-test-uninstall-rpm
365 # Test Neon multipatch zip (no parallel tarball available)
366 # NB: This will need to be updated as old builds expire
367 # NB: Commented out to reduce maintenance
369 # yamllint disable-line rule:line-length
370 # 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'
371 # - shell: !include-raw-escape: build-rpm.sh
372 # - install-test-uninstall-rpm
374 # Test latest Neon snapshot
376 properties-content: 'STREAM=neon'
377 - shell: !include-raw: build-rpm-snap.sh
378 - install-test-uninstall-rpm
380 # Test latest Sodium snapshot
382 properties-content: 'STREAM=sodium'
383 - shell: !include-raw: build-rpm-snap.sh
384 - install-test-uninstall-rpm
389 server-name: '{gerrit-server-name}'
391 - comment-added-contains-event:
392 comment-contains-value: 'verify-rpm-full'
394 - project-compare-type: ANT
395 project-pattern: '{project}'
397 - branch-compare-type: ANT
398 branch-pattern: '**/{branch}'
405 name: 'packaging-test-rpm-master'
407 node: centos7-builder-2c-2g
410 disabled: '{disable-job}'
413 - opendaylight-infra-parameters:
414 os-cloud: '{os-cloud}'
417 refspec: 'refs/heads/{branch}'
418 artifacts: '{archive-artifacts}'
421 # yamllint disable-line rule:line-length
422 default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
423 description: 'Link to .repo or .rpm file'
426 - integration-gerrit-scm:
428 refspec: '$GERRIT_REFSPEC'
432 - opendaylight-infra-wrappers:
433 build-timeout: '{build-timeout}'
437 # Install expect to interact with Karaf shell
438 # Install nmap to check status of ODL's SSH port
439 sudo yum install -y expect nmap
440 - shell: !include-raw-escape: install-rpm.sh
441 - shell: !include-raw: start-odl.sh
442 - shell: !include-raw-escape: test-ports-nofeature.sh
443 - shell: !include-raw: test-karaf-oxygensafe.expect
444 # Disable this test until ODLPARENT-139 is fixed
445 # - shell: !include-raw-escape: test-rest-ok.sh
446 - shell: !include-raw: stop-odl.sh
447 - shell: !include-raw: uninstall-rpm.sh
453 # TODO: Remove the archive publisher
454 # small data should be stored on logs.opendaylight.org
455 # large data should be stored on nexus.opendaylight.org
465 name: 'packaging-test-rpm-upgrade-master'
469 node: centos7-builder-2c-2g
470 disabled: '{disable-job}'
473 - opendaylight-infra-parameters:
474 os-cloud: '{os-cloud}'
477 refspec: 'refs/heads/{branch}'
478 artifacts: '{archive-artifacts}'
481 - integration-gerrit-scm:
483 refspec: '$GERRIT_REFSPEC'
487 - opendaylight-infra-wrappers:
488 build-timeout: '{build-timeout}'
491 # Tests (current and future):
492 # * Install latest release, stop/uninstall, install latest CD
493 # * Upgrade from latest release latest CD
494 # * TODO: Upgrade from latest release to proposed packaging/** logic
495 # * TODO: Upgrade from CD to proposed packaging/** logic
496 # * TODO: Upgrade from proposed packaging/** logic (older ODL) to
497 # proposed packaging logic (latest ODL)
499 # Test 1: Install latest release, stop/uninstall, install latest CD
501 # yamllint disable-line rule:line-length
502 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
503 - install-start-test-stop-uninstall-rpm
505 # yamllint disable-line rule:line-length
506 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
507 - install-start-test-stop-uninstall-rpm
509 # Test 2: Install latest release, stop, upgrade to latest CD
511 # yamllint disable-line rule:line-length
512 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
513 - install-start-test-stop-rpm
515 # yamllint disable-line rule:line-length
516 properties-content: 'REPO_CFG_FILE_URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
517 - installrepcfg-upgrade-start-test-stop-rpm
521 - gerrit-trigger-patch-submitted:
522 gerrit-server-name: '{gerrit-server-name}'
533 name: 'packaging-test-deb-master'
535 node: ubuntu1604-mininet-ovs-25-1c-4g
538 disabled: '{disable-job}'
541 - opendaylight-infra-parameters:
542 os-cloud: '{os-cloud}'
545 refspec: 'refs/heads/{branch}'
546 artifacts: '{archive-artifacts}'
549 default: 'ppa:odl-team/oxygen'
550 description: 'Link to .deb package or name of PPA repo'
553 - integration-gerrit-scm:
555 refspec: '$GERRIT_REFSPEC'
559 - opendaylight-infra-wrappers:
560 build-timeout: '{build-timeout}'
563 - shell: !include-raw-escape: install-deb.sh
564 - shell: !include-raw: start-odl.sh
565 - shell: !include-raw-escape: test-ports-nofeature.sh
567 # Install expect to interact with Karaf shell
568 # Install nmap to check status of ODL's SSH port
569 sudo apt-get install -y expect nmap
570 - shell: !include-raw: test-karaf-oxygensafe.expect
571 # Disable this test until ODLPARENT-139 is fixed
572 # - shell: !include-raw-escape: test-rest-ok.sh
573 - shell: !include-raw: stop-odl.sh
574 - shell: !include-raw-escape: uninstall-deb.sh
584 name: 'packaging-build-deb-{stream}'
586 node: ubuntu1604-mininet-ovs-25-1c-4g
589 project-type: freestyle
590 disabled: '{disable-job}'
597 - opendaylight-infra-properties:
598 build-days-to-keep: 7
601 - opendaylight-infra-parameters:
602 os-cloud: '{os-cloud}'
605 refspec: 'refs/heads/{branch}'
606 artifacts: '{archive-artifacts}'
607 - lf-infra-maven-parameters:
608 mvn-opts: '{mvn-opts}'
609 mvn-params: '{mvn-params}'
610 mvn-version: '{mvn-version}'
611 staging-profile-id: ''
614 # FIXME: Update the default value to an active stream.
615 # yamllint disable-line rule:line-length
616 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'
617 description: 'URL to ODL tarball artifact to repackage into .deb'
621 description: 'Name of person who defined .deb'
623 name: CHANGELOG_EMAIL
624 default: 'jenkins-donotreply@opendaylight.org'
625 description: 'Email of person who defined .deb'
627 name: PKG_VERSION_OVERRIDE
629 description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
632 - integration-gerrit-scm:
634 refspec: '$GERRIT_REFSPEC'
638 - opendaylight-infra-wrappers:
639 build-timeout: '{build-timeout}'
643 - shell: !include-raw: build-deb.sh
644 - install-test-uninstall-deb
645 - lf-infra-deploy-maven-file:
646 global-settings-file: 'global-settings'
647 settings-file: 'packaging-settings'
648 mvn-version: '{mvn-version}'
649 repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
650 group-id: '{group-id}'
651 upload-files-dir: '{upload-files-dir}'
652 maven-repo-url: '{maven-repo-url}'
664 project-name: packaging