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}'
165 properties-content: |
168 - shell: !include-raw: build-rpm-snap-docker.sh
169 - shell: !include-raw: test-rpm-docker.sh
170 - lf-infra-deploy-maven-file:
171 global-settings-file: 'global-settings'
172 settings-file: 'packaging-settings'
173 mvn-version: '{mvn-version}'
174 repo-id: 'opendaylight-{stream}-{distro}-x86_64-devel'
175 group-id: '{group-id}'
176 upload-files-dir: '{upload-files-dir}'
177 maven-repo-url: '{maven-repo-url}'
187 name: 'packaging-verify-rpm-master'
189 node: centos7-builder-2c-2g
191 project-type: freestyle
194 - opendaylight-infra-parameters:
195 os-cloud: '{os-cloud}'
198 refspec: 'refs/heads/{branch}'
199 artifacts: '{archive-artifacts}'
202 - integration-gerrit-scm:
204 refspec: '$GERRIT_REFSPEC'
208 - opendaylight-infra-wrappers:
209 build-timeout: '{build-timeout}'
212 # Test Oxygen SR3 release tarball
214 # yamllint disable-line rule:line-length
215 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'
216 - shell: !include-raw-escape: build-rpm.sh
217 - install-test-uninstall-rpm
219 # Test Fluorine ('Managed Release Common Distro') release tarball
221 # yamllint disable-line rule:line-length
222 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
223 - shell: !include-raw-escape: build-rpm.sh
224 - install-test-uninstall-rpm
226 # Test Fluorine SR1 release tarball
228 # yamllint disable-line rule:line-length
229 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'
230 - shell: !include-raw-escape: build-rpm.sh
231 - install-test-uninstall-rpm
233 # Test Neon pre-release autorelease tarball
234 # NB: This will need to be updated as old builds expire
236 # yamllint disable-line rule:line-length
237 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'
238 - shell: !include-raw-escape: build-rpm.sh
239 - install-test-uninstall-rpm
241 # Test Neon multipatch zip (no parallel tarball available)
242 # NB: This will need to be updated as old builds expire
244 # yamllint disable-line rule:line-length
245 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'
246 - shell: !include-raw-escape: build-rpm.sh
247 - install-test-uninstall-rpm
249 # Test latest Neon snapshot
251 properties-content: 'STREAM=neon'
252 - shell: !include-raw: build-rpm-snap.sh
253 - install-test-uninstall-rpm
257 - gerrit-trigger-patch-submitted:
258 gerrit-server-name: '{gerrit-server-name}'
269 name: 'packaging-verify-full-rpm-master'
271 node: centos7-builder-2c-2g
273 project-type: freestyle
276 - opendaylight-infra-parameters:
277 os-cloud: '{os-cloud}'
280 refspec: 'refs/heads/{branch}'
281 artifacts: '{archive-artifacts}'
284 - integration-gerrit-scm:
286 refspec: '$GERRIT_REFSPEC'
290 - opendaylight-infra-wrappers:
291 build-timeout: '{build-timeout}'
294 # Test Oxygen SR3 release tarball
296 # yamllint disable-line rule:line-length
297 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'
298 - shell: !include-raw-escape: build-rpm.sh
299 - install-test-uninstall-rpm
301 # Test Oxygen pre-release autorelease tarball
302 # NB: This will need to be updated as old builds expire
304 # yamllint disable-line rule:line-length
305 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'
306 - shell: !include-raw-escape: build-rpm.sh
307 - install-test-uninstall-rpm
309 # Test latest Oxygen snapshot
311 properties-content: 'STREAM=oxygen'
312 - shell: !include-raw: build-rpm-snap.sh
313 - install-test-uninstall-rpm
315 # Test Fluorine ('Managed Release Common Distro') release tarball
317 # yamllint disable-line rule:line-length
318 properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.9.0/opendaylight-0.9.0.tar.gz'
319 - shell: !include-raw-escape: build-rpm.sh
320 - install-test-uninstall-rpm
322 # Test Fluorine SR1 release tarball
324 # yamllint disable-line rule:line-length
325 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'
326 - shell: !include-raw-escape: build-rpm.sh
327 - install-test-uninstall-rpm
329 # Test Fluorine pre-release autorelease tarball
330 # NB: This will need to be updated as old builds expire
332 # yamllint disable-line rule:line-length
333 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'
334 - shell: !include-raw-escape: build-rpm.sh
335 - install-test-uninstall-rpm
337 # Test Fluorine multipatch zip (no parallel tarball available)
338 # NB: This will need to be updated as old builds expire
340 # yamllint disable-line rule:line-length
341 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'
342 - shell: !include-raw-escape: build-rpm.sh
343 - install-test-uninstall-rpm
345 # Test latest Fluorine snapshot
347 properties-content: 'STREAM=fluorine'
348 - shell: !include-raw: build-rpm-snap.sh
349 - install-test-uninstall-rpm
351 # Test Neon pre-release autorelease tarball
352 # NB: This will need to be updated as old builds expire
354 # yamllint disable-line rule:line-length
355 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'
356 - shell: !include-raw-escape: build-rpm.sh
357 - install-test-uninstall-rpm
359 # Test Neon multipatch zip (no parallel tarball available)
360 # NB: This will need to be updated as old builds expire
362 # yamllint disable-line rule:line-length
363 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'
364 - shell: !include-raw-escape: build-rpm.sh
365 - install-test-uninstall-rpm
367 # Test latest Neon snapshot
369 properties-content: 'STREAM=neon'
370 - shell: !include-raw: build-rpm-snap.sh
371 - install-test-uninstall-rpm
376 server-name: '{gerrit-server-name}'
378 - comment-added-contains-event:
379 comment-contains-value: 'verify-rpm-full'
381 - project-compare-type: ANT
382 project-pattern: '{project}'
384 - branch-compare-type: ANT
385 branch-pattern: '**/{branch}'
392 name: 'packaging-test-rpm-master'
394 node: centos7-builder-2c-2g
397 - opendaylight-infra-parameters:
398 os-cloud: '{os-cloud}'
401 refspec: 'refs/heads/{branch}'
402 artifacts: '{archive-artifacts}'
405 # yamllint disable-line rule:line-length
406 default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
407 description: 'Link to .repo or .rpm file'
410 - integration-gerrit-scm:
412 refspec: '$GERRIT_REFSPEC'
416 - opendaylight-infra-wrappers:
417 build-timeout: '{build-timeout}'
421 # Install expect to interact with Karaf shell
422 # Install nmap to check status of ODL's SSH port
423 sudo yum install -y expect nmap
424 - shell: !include-raw-escape: install-rpm.sh
425 - shell: !include-raw: start-odl.sh
426 - shell: !include-raw-escape: test-ports-nofeature.sh
427 - shell: !include-raw: test-karaf-oxygensafe.expect
428 # Disable this test until ODLPARENT-139 is fixed
429 # - shell: !include-raw-escape: test-rest-ok.sh
430 - shell: !include-raw: stop-odl.sh
431 - shell: !include-raw: uninstall-rpm.sh
437 # TODO: Remove the archive publisher
438 # small data should be stored on logs.opendaylight.org
439 # large data should be stored on nexus.opendaylight.org
449 name: 'packaging-test-rpm-upgrade-master'
451 node: centos7-builder-2c-2g
454 - opendaylight-infra-parameters:
455 os-cloud: '{os-cloud}'
458 refspec: 'refs/heads/{branch}'
459 artifacts: '{archive-artifacts}'
462 - integration-gerrit-scm:
464 refspec: '$GERRIT_REFSPEC'
468 - opendaylight-infra-wrappers:
469 build-timeout: '{build-timeout}'
472 # Tests (current and future):
473 # * Install latest release, stop/uninstall, install latest CD
474 # * Upgrade from latest release latest CD
475 # * TODO: Upgrade from latest release to proposed packaging/** logic
476 # * TODO: Upgrade from CD to proposed packaging/** logic
477 # * TODO: Upgrade from proposed packaging/** logic (older ODL) to
478 # proposed packaging logic (latest ODL)
480 # Test 1: Install latest release, stop/uninstall, install latest CD
482 # yamllint disable-line rule:line-length
483 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
484 - install-start-test-stop-uninstall-rpm
486 # yamllint disable-line rule:line-length
487 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
488 - install-start-test-stop-uninstall-rpm
490 # Test 2: Install latest release, stop, upgrade to latest CD
492 # yamllint disable-line rule:line-length
493 properties-content: 'URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo'
494 - install-start-test-stop-rpm
496 # yamllint disable-line rule:line-length
497 properties-content: 'REPO_CFG_FILE_URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo'
498 - installrepcfg-upgrade-start-test-stop-rpm
502 - gerrit-trigger-patch-submitted:
503 gerrit-server-name: '{gerrit-server-name}'
514 name: 'packaging-test-deb-master'
516 node: ubuntu1604-mininet-ovs-25-1c-4g
519 - opendaylight-infra-parameters:
520 os-cloud: '{os-cloud}'
523 refspec: 'refs/heads/{branch}'
524 artifacts: '{archive-artifacts}'
527 default: 'ppa:odl-team/oxygen'
528 description: 'Link to .deb package or name of PPA repo'
531 - integration-gerrit-scm:
533 refspec: '$GERRIT_REFSPEC'
537 - opendaylight-infra-wrappers:
538 build-timeout: '{build-timeout}'
541 - shell: !include-raw-escape: install-deb.sh
542 - shell: !include-raw: start-odl.sh
543 - shell: !include-raw-escape: test-ports-nofeature.sh
545 # Install expect to interact with Karaf shell
546 # Install nmap to check status of ODL's SSH port
547 sudo apt-get install -y expect nmap
548 - shell: !include-raw: test-karaf-oxygensafe.expect
549 # Disable this test until ODLPARENT-139 is fixed
550 # - shell: !include-raw-escape: test-rest-ok.sh
551 - shell: !include-raw: stop-odl.sh
552 - shell: !include-raw-escape: uninstall-deb.sh
562 name: 'packaging-build-deb-{stream}'
564 node: ubuntu1604-mininet-ovs-25-1c-4g
566 project-type: freestyle
573 - opendaylight-infra-properties:
574 build-days-to-keep: 7
577 - opendaylight-infra-parameters:
578 os-cloud: '{os-cloud}'
581 refspec: 'refs/heads/{branch}'
582 artifacts: '{archive-artifacts}'
583 - lf-infra-maven-parameters:
584 mvn-opts: '{mvn-opts}'
585 mvn-params: '{mvn-params}'
586 mvn-version: '{mvn-version}'
587 staging-profile-id: ''
590 # FIXME: Update the default value to an active stream.
591 # yamllint disable-line rule:line-length
592 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'
593 description: 'URL to ODL tarball artifact to repackage into .deb'
597 description: 'Name of person who defined .deb'
599 name: CHANGELOG_EMAIL
600 default: 'jenkins-donotreply@opendaylight.org'
601 description: 'Email of person who defined .deb'
603 name: PKG_VERSION_OVERRIDE
605 description: 'Override autodetected package component of RPM version (maj.min.pat-pkg)'
608 - integration-gerrit-scm:
610 refspec: '$GERRIT_REFSPEC'
614 - opendaylight-infra-wrappers:
615 build-timeout: '{build-timeout}'
618 - shell: !include-raw: build-deb.sh
619 - install-test-uninstall-deb
620 - lf-infra-deploy-maven-file:
621 global-settings-file: 'global-settings'
622 settings-file: 'packaging-settings'
623 mvn-version: '{mvn-version}'
624 repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
625 group-id: '{group-id}'
626 upload-files-dir: '{upload-files-dir}'
627 maven-repo-url: '{maven-repo-url}'
639 project-name: packaging