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}'
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'
25 project: 'integration/packaging'
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'
42 name: 'packaging-build-rpm-{stream}'
44 node: centos7-builder-2c-2g
46 project-type: freestyle
53 - opendaylight-infra-properties:
57 - opendaylight-infra-parameters:
58 os-cloud: '{os-cloud}'
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: ''
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'
76 description: 'Name of person who defined RPM'
79 default: 'jenkins-donotreply@opendaylight.org'
80 description: 'Email of person who defined RPM'
83 default: 'opendaylight-{stream}-epel-7-x86_64-devel'
84 description: 'Repository to deploy resulting package to'
86 name: PKG_VERSION_OVERRIDE
88 description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
91 - integration-gerrit-scm:
93 refspec: '$GERRIT_REFSPEC'
97 - opendaylight-infra-wrappers:
98 build-timeout: '{build-timeout}'
102 - shell: !include-raw-escape: build-rpm.sh
103 - install-test-uninstall-rpm
104 - lf-infra-deploy-maven-file:
105 global-settings-file: 'global-settings'
106 settings-file: 'packaging-settings'
107 mvn-version: '{mvn-version}'
108 repo-id: '$DEPLOY_TO_REPO'
109 group-id: '{group-id}'
110 upload-files-dir: '{upload-files-dir}'
111 maven-repo-url: '{maven-repo-url}'
118 name: 'packaging-build-rpm-{distro}-snap-{stream}'
120 node: centos7-docker-2c-2g
122 project-type: freestyle
129 - opendaylight-infra-properties:
130 build-days-to-keep: 7
133 - opendaylight-infra-parameters:
134 os-cloud: '{os-cloud}'
137 refspec: 'refs/heads/{branch}'
138 artifacts: '{archive-artifacts}'
139 - lf-infra-maven-parameters:
140 mvn-opts: '{mvn-opts}'
141 mvn-params: '{mvn-params}'
142 mvn-version: '{mvn-version}'
143 staging-profile-id: ''
147 description: 'Name of person who defined RPM'
149 name: CHANGELOG_EMAIL
150 default: 'jenkins-donotreply@opendaylight.org'
151 description: 'Email of person who defined RPM'
154 - integration-gerrit-scm:
156 refspec: '$GERRIT_REFSPEC'
160 - opendaylight-infra-wrappers:
161 build-timeout: '{build-timeout}'
166 properties-content: |
169 - shell: !include-raw: build-rpm-snap-docker.sh
170 - shell: !include-raw: test-rpm-docker.sh
171 - lf-infra-deploy-maven-file:
172 global-settings-file: 'global-settings'
173 settings-file: 'packaging-settings'
174 mvn-version: '{mvn-version}'
175 repo-id: 'opendaylight-{stream}-{distro}-x86_64-devel'
176 group-id: '{group-id}'
177 upload-files-dir: '{upload-files-dir}'
178 maven-repo-url: '{maven-repo-url}'
188 name: 'packaging-verify-rpm-master'
190 node: centos7-builder-2c-2g
192 project-type: freestyle
195 - opendaylight-infra-parameters:
196 os-cloud: '{os-cloud}'
199 refspec: 'refs/heads/{branch}'
200 artifacts: '{archive-artifacts}'
203 - integration-gerrit-scm:
205 refspec: '$GERRIT_REFSPEC'
209 - opendaylight-infra-wrappers:
210 build-timeout: '{build-timeout}'
213 # Test Oxygen SR3 release tarball
215 # yamllint disable-line rule:line-length
216 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
217 - shell: !include-raw-escape: build-rpm.sh
218 - install-test-uninstall-rpm
220 # Test Fluorine ('Managed Release Common Distro') release tarball
222 # yamllint disable-line rule:line-length
223 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
224 - shell: !include-raw-escape: build-rpm.sh
225 - install-test-uninstall-rpm
227 # Test Fluorine SR1 release tarball
229 # yamllint disable-line rule:line-length
230 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'
231 - shell: !include-raw-escape: build-rpm.sh
232 - install-test-uninstall-rpm
234 # Test Neon pre-release autorelease tarball
235 # NB: This will need to be updated as old builds expire
237 # yamllint disable-line rule:line-length
238 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2473/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.gz'
239 - shell: !include-raw-escape: build-rpm.sh
240 - install-test-uninstall-rpm
242 # Test Neon multipatch zip (no parallel tarball available)
243 # NB: This will need to be updated as old builds expire
245 # yamllint disable-line rule:line-length
246 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-20181119.131156-18.zip'
247 - shell: !include-raw-escape: build-rpm.sh
248 - install-test-uninstall-rpm
250 # Test latest Neon snapshot
252 properties-content: 'STREAM=neon'
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
274 project-type: freestyle
277 - opendaylight-infra-parameters:
278 os-cloud: '{os-cloud}'
281 refspec: 'refs/heads/{branch}'
282 artifacts: '{archive-artifacts}'
285 - integration-gerrit-scm:
287 refspec: '$GERRIT_REFSPEC'
291 - opendaylight-infra-wrappers:
292 build-timeout: '{build-timeout}'
295 # Test Oxygen SR3 release tarball
297 # yamllint disable-line rule:line-length
298 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz'
299 - shell: !include-raw-escape: build-rpm.sh
300 - install-test-uninstall-rpm
302 # Test Oxygen pre-release autorelease tarball
303 # NB: This will need to be updated as old builds expire
305 # yamllint disable-line rule:line-length
306 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2472/org/opendaylight/integration/karaf/0.8.4/karaf-0.8.4.tar.gz'
307 - shell: !include-raw-escape: build-rpm.sh
308 - install-test-uninstall-rpm
310 # Test latest Oxygen snapshot
312 properties-content: 'STREAM=oxygen'
313 - shell: !include-raw: build-rpm-snap.sh
314 - install-test-uninstall-rpm
316 # Test Fluorine ('Managed Release Common Distro') release tarball
318 # yamllint disable-line rule:line-length
319 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
320 - shell: !include-raw-escape: build-rpm.sh
321 - install-test-uninstall-rpm
323 # Test Fluorine SR1 release tarball
325 # yamllint disable-line rule:line-length
326 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'
327 - shell: !include-raw-escape: build-rpm.sh
328 - install-test-uninstall-rpm
330 # Test Fluorine pre-release autorelease tarball
331 # NB: This will need to be updated as old builds expire
333 # yamllint disable-line rule:line-length
334 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2474/org/opendaylight/integration/karaf/0.9.1/karaf-0.9.1.tar.gz'
335 - shell: !include-raw-escape: build-rpm.sh
336 - install-test-uninstall-rpm
338 # Test Fluorine multipatch zip (no parallel tarball available)
339 # NB: This will need to be updated as old builds expire
341 # yamllint disable-line rule:line-length
342 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.9.1-SNAPSHOT/karaf-0.9.1-20181112.140627-11.zip'
343 - shell: !include-raw-escape: build-rpm.sh
344 - install-test-uninstall-rpm
346 # Test latest Fluorine snapshot
348 properties-content: 'STREAM=fluorine'
349 - shell: !include-raw: build-rpm-snap.sh
350 - install-test-uninstall-rpm
352 # Test Neon pre-release autorelease tarball
353 # NB: This will need to be updated as old builds expire
355 # yamllint disable-line rule:line-length
356 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2473/org/opendaylight/integration/karaf/0.10.0/karaf-0.10.0.tar.gz'
357 - shell: !include-raw-escape: build-rpm.sh
358 - install-test-uninstall-rpm
360 # Test Neon multipatch zip (no parallel tarball available)
361 # NB: This will need to be updated as old builds expire
363 # yamllint disable-line rule:line-length
364 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-20181119.131156-18.zip'
365 - shell: !include-raw-escape: build-rpm.sh
366 - install-test-uninstall-rpm
368 # Test latest Neon snapshot
370 properties-content: 'STREAM=neon'
371 - shell: !include-raw: build-rpm-snap.sh
372 - install-test-uninstall-rpm
377 server-name: '{gerrit-server-name}'
379 - comment-added-contains-event:
380 comment-contains-value: 'verify-rpm-full'
382 - project-compare-type: ANT
383 project-pattern: '{project}'
385 - branch-compare-type: ANT
386 branch-pattern: '**/{branch}'
393 name: 'packaging-test-rpm-master'
395 node: centos7-builder-2c-2g
398 - opendaylight-infra-parameters:
399 os-cloud: '{os-cloud}'
402 refspec: 'refs/heads/{branch}'
403 artifacts: '{archive-artifacts}'
406 # yamllint disable-line rule:line-length
407 default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
408 description: 'Link to .repo or .rpm file'
411 - integration-gerrit-scm:
413 refspec: '$GERRIT_REFSPEC'
417 - opendaylight-infra-wrappers:
418 build-timeout: '{build-timeout}'
422 # Install expect to interact with Karaf shell
423 # Install nmap to check status of ODL's SSH port
424 sudo yum install -y expect nmap
425 - shell: !include-raw-escape: install-rpm.sh
426 - shell: !include-raw: start-odl.sh
427 - shell: !include-raw-escape: test-ports-nofeature.sh
428 - shell: !include-raw: test-karaf-oxygensafe.expect
429 # Disable this test until ODLPARENT-139 is fixed
430 # - shell: !include-raw-escape: test-rest-ok.sh
431 - shell: !include-raw: stop-odl.sh
432 - shell: !include-raw: uninstall-rpm.sh
438 # TODO: Remove the archive publisher
439 # small data should be stored on logs.opendaylight.org
440 # large data should be stored on nexus.opendaylight.org
450 name: 'packaging-test-rpm-upgrade-master'
452 node: centos7-builder-2c-2g
455 - opendaylight-infra-parameters:
456 os-cloud: '{os-cloud}'
459 refspec: 'refs/heads/{branch}'
460 artifacts: '{archive-artifacts}'
463 - integration-gerrit-scm:
465 refspec: '$GERRIT_REFSPEC'
469 - opendaylight-infra-wrappers:
470 build-timeout: '{build-timeout}'
473 # Tests (current and future):
474 # * Install latest release, stop/uninstall, install latest CD
475 # * Upgrade from latest release latest CD
476 # * TODO: Upgrade from latest release to proposed packaging/** logic
477 # * TODO: Upgrade from CD to proposed packaging/** logic
478 # * TODO: Upgrade from proposed packaging/** logic (older ODL) to
479 # proposed packaging logic (latest ODL)
481 # Test 1: Install latest release, stop/uninstall, install latest CD
483 # yamllint disable-line rule:line-length
484 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
485 - install-start-test-stop-uninstall-rpm
487 # yamllint disable-line rule:line-length
488 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
489 - install-start-test-stop-uninstall-rpm
491 # Test 2: Install latest release, stop, upgrade to latest CD
493 # yamllint disable-line rule:line-length
494 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
495 - install-start-test-stop-rpm
497 # yamllint disable-line rule:line-length
498 properties-content: 'REPO_CFG_FILE_URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
499 - installrepcfg-upgrade-start-test-stop-rpm
503 - gerrit-trigger-patch-submitted:
504 gerrit-server-name: '{gerrit-server-name}'
515 name: 'packaging-test-deb-master'
517 node: ubuntu1604-mininet-ovs-25-1c-4g
520 - opendaylight-infra-parameters:
521 os-cloud: '{os-cloud}'
524 refspec: 'refs/heads/{branch}'
525 artifacts: '{archive-artifacts}'
528 default: 'ppa:odl-team/oxygen'
529 description: 'Link to .deb package or name of PPA repo'
532 - integration-gerrit-scm:
534 refspec: '$GERRIT_REFSPEC'
538 - opendaylight-infra-wrappers:
539 build-timeout: '{build-timeout}'
542 - shell: !include-raw-escape: install-deb.sh
543 - shell: !include-raw: start-odl.sh
544 - shell: !include-raw-escape: test-ports-nofeature.sh
546 # Install expect to interact with Karaf shell
547 # Install nmap to check status of ODL's SSH port
548 sudo apt-get install -y expect nmap
549 - shell: !include-raw: test-karaf-oxygensafe.expect
550 # Disable this test until ODLPARENT-139 is fixed
551 # - shell: !include-raw-escape: test-rest-ok.sh
552 - shell: !include-raw: stop-odl.sh
553 - shell: !include-raw-escape: uninstall-deb.sh
563 name: 'packaging-build-deb-{stream}'
565 node: ubuntu1604-mininet-ovs-25-1c-4g
567 project-type: freestyle
574 - opendaylight-infra-properties:
575 build-days-to-keep: 7
578 - opendaylight-infra-parameters:
579 os-cloud: '{os-cloud}'
582 refspec: 'refs/heads/{branch}'
583 artifacts: '{archive-artifacts}'
584 - lf-infra-maven-parameters:
585 mvn-opts: '{mvn-opts}'
586 mvn-params: '{mvn-params}'
587 mvn-version: '{mvn-version}'
588 staging-profile-id: ''
591 # FIXME: Update the default value to an active stream.
592 # yamllint disable-line rule:line-length
593 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'
594 description: 'URL to ODL tarball artifact to repackage into .deb'
598 description: 'Name of person who defined .deb'
600 name: CHANGELOG_EMAIL
601 default: 'jenkins-donotreply@opendaylight.org'
602 description: 'Email of person who defined .deb'
604 name: PKG_VERSION_OVERRIDE
606 description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
609 - integration-gerrit-scm:
611 refspec: '$GERRIT_REFSPEC'
615 - opendaylight-infra-wrappers:
616 build-timeout: '{build-timeout}'
620 - shell: !include-raw: build-deb.sh
621 - install-test-uninstall-deb
622 - lf-infra-deploy-maven-file:
623 global-settings-file: 'global-settings'
624 settings-file: 'packaging-settings'
625 mvn-version: '{mvn-version}'
626 repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
627 group-id: '{group-id}'
628 upload-files-dir: '{upload-files-dir}'
629 maven-repo-url: '{maven-repo-url}'
641 project-name: packaging