--- - project: name: packaging project-name: packaging jobs: - "{project-name}-rtd-jobs": build-node: centos7-builder-2c-2g doc-dir: .tox/docs/tmp/html project-pattern: integration/packaging rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-integrationpackaging/32928/ rtd-token: 371d63c43ad99b0745bb7779e3488c5e255c1180 - "packaging-build-rpm-{stream}" - "packaging-build-rpm-{distro}-snap-{stream}" - "packaging-build-deb-{stream}": disable-job: true - "packaging-verify-full-rpm-master" - "packaging-verify-rpm-master" - "packaging-test-rpm-master" - "packaging-test-rpm-upgrade-master" - "packaging-test-deb-master": disable-job: true - gerrit-tox-verify: branch: master stream: master project: "integration/packaging" stream: - sodium distro: - opensuse-42 - epel-7 branch: "master" # common parameters required for 'lf-infra-deploy-maven-file' builder group-id: "org.opendaylight.integration-packaging" upload-files-dir: "$WORKSPACE/upload_files" maven-repo-url: "$NEXUS_URL/content/repositories/$REPO_ID" - job-template: name: "packaging-build-rpm-{stream}" disable-job: false node: centos7-builder-2c-2g project-type: freestyle disabled: "{disable-job}" mvn-opts: "" mvn-params: "" mvn-version: mvn33 properties: - opendaylight-infra-properties: build-days-to-keep: 7 parameters: - opendaylight-infra-parameters: os-cloud: "{os-cloud}" project: "{project}" branch: "{branch}" refspec: "refs/heads/{branch}" artifacts: "{archive-artifacts}" - lf-infra-maven-parameters: mvn-opts: "{mvn-opts}" mvn-params: "{mvn-params}" mvn-version: "{mvn-version}" staging-profile-id: "" - string: name: DOWNLOAD_URL # yamllint disable-line rule:line-length default: "https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.4/karaf-0.8.4.tar.gz" description: "URL to ODL tarball artifact to repackage into RPM" - string: name: CHANGELOG_NAME default: "Jenkins" description: "Name of person who defined RPM" - string: name: CHANGELOG_EMAIL default: "jenkins-donotreply@opendaylight.org" description: "Email of person who defined RPM" - string: name: DEPLOY_TO_REPO default: "opendaylight-{stream}-epel-7-x86_64-devel" description: "Repository to deploy resulting package to" - string: name: PKG_VERSION_OVERRIDE default: "" description: "Override autodetected package component of RPM version (maj.min.pat-pkg)" scm: - integration-gerrit-scm: basedir: "packaging" refspec: "$GERRIT_REFSPEC" branch: "master" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: - lf-infra-pre-build - shell: !include-raw-escape: build-rpm.sh - install-test-uninstall-rpm - lf-infra-deploy-maven-file: global-settings-file: "global-settings" settings-file: "packaging-settings" mvn-version: "{mvn-version}" repo-id: "$DEPLOY_TO_REPO" group-id: "{group-id}" upload-files-dir: "{upload-files-dir}" maven-repo-url: "{maven-repo-url}" publishers: - lf-infra-publish - job-template: name: "packaging-build-rpm-{distro}-snap-{stream}" node: centos7-docker-2c-2g disable-job: false project-type: freestyle disabled: "{disable-job}" mvn-opts: "" mvn-params: "" mvn-version: mvn33 properties: - opendaylight-infra-properties: build-days-to-keep: 7 parameters: - opendaylight-infra-parameters: os-cloud: "{os-cloud}" project: "{project}" branch: "{branch}" refspec: "refs/heads/{branch}" artifacts: "{archive-artifacts}" - lf-infra-maven-parameters: mvn-opts: "{mvn-opts}" mvn-params: "{mvn-params}" mvn-version: "{mvn-version}" staging-profile-id: "" - string: name: CHANGELOG_NAME default: "Jenkins" description: "Name of person who defined RPM" - string: name: CHANGELOG_EMAIL default: "jenkins-donotreply@opendaylight.org" description: "Email of person who defined RPM" scm: - integration-gerrit-scm: basedir: "packaging" refspec: "$GERRIT_REFSPEC" branch: "master" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: - lf-infra-pre-build - inject: properties-content: | STREAM={stream} DISTRO={distro} - shell: !include-raw: build-rpm-snap-docker.sh - shell: !include-raw: test-rpm-docker.sh - lf-infra-deploy-maven-file: global-settings-file: "global-settings" settings-file: "packaging-settings" mvn-version: "{mvn-version}" repo-id: "opendaylight-{stream}-{distro}-x86_64-devel" group-id: "{group-id}" upload-files-dir: "{upload-files-dir}" maven-repo-url: "{maven-repo-url}" triggers: - timed: "@daily" publishers: - lf-infra-publish - job-template: name: "packaging-verify-rpm-master" node: centos7-builder-2c-2g disable-job: false project-type: freestyle disabled: "{disable-job}" parameters: - opendaylight-infra-parameters: os-cloud: "{os-cloud}" project: "{project}" branch: "{branch}" refspec: "refs/heads/{branch}" artifacts: "{archive-artifacts}" scm: - integration-gerrit-scm: basedir: "packaging" refspec: "$GERRIT_REFSPEC" branch: "master" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: # Test Sodium ('Managed Release Common Distro') release tarball - inject: # yamllint disable-line rule:line-length properties-content: "DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.11.0/opendaylight-0.11.0.tar.gz" - shell: !include-raw-escape: build-rpm.sh - install-test-uninstall-rpm # Test latest Sodium snapshot - inject: properties-content: "STREAM=sodium" - shell: !include-raw: build-rpm-snap.sh - install-test-uninstall-rpm triggers: - timed: "@weekly" - gerrit-trigger-patch-submitted: gerrit-server-name: "{gerrit-server-name}" project: "{project}" branch: "{branch}" files: "packages/**" forbidden-files: "" publishers: - lf-infra-publish - job-template: name: "packaging-verify-full-rpm-master" node: centos7-builder-2c-2g disable-job: false project-type: freestyle disabled: "{disable-job}" parameters: - opendaylight-infra-parameters: os-cloud: "{os-cloud}" project: "{project}" branch: "{branch}" refspec: "refs/heads/{branch}" artifacts: "{archive-artifacts}" scm: - integration-gerrit-scm: basedir: "packaging" refspec: "$GERRIT_REFSPEC" branch: "master" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: # Test Sodium release tarball - inject: # yamllint disable-line rule:line-length 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" - shell: !include-raw-escape: build-rpm.sh - install-test-uninstall-rpm - shell: !include-raw: build-rpm-snap.sh - install-test-uninstall-rpm # Test latest Sodium snapshot - inject: properties-content: "STREAM=sodium" - shell: !include-raw: build-rpm-snap.sh - install-test-uninstall-rpm triggers: - timed: "@weekly" - gerrit: server-name: "{gerrit-server-name}" trigger-on: - comment-added-contains-event: comment-contains-value: "verify-rpm-full" projects: - project-compare-type: ANT project-pattern: "{project}" branches: - branch-compare-type: ANT branch-pattern: "**/{branch}" publishers: - lf-infra-publish - job-template: name: "packaging-test-rpm-master" node: centos7-builder-2c-2g disable-job: false disabled: "{disable-job}" parameters: - opendaylight-infra-parameters: os-cloud: "{os-cloud}" project: "{project}" branch: "{branch}" refspec: "refs/heads/{branch}" artifacts: "{archive-artifacts}" - string: name: URL # yamllint disable-line rule:line-length default: "https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo" description: "Link to .repo or .rpm file" scm: - integration-gerrit-scm: basedir: "packaging" refspec: "$GERRIT_REFSPEC" branch: "master" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: - shell: | # Install expect to interact with Karaf shell # Install nmap to check status of ODL's SSH port sudo yum install -y expect nmap - shell: !include-raw-escape: install-rpm.sh - shell: !include-raw: start-odl.sh - shell: !include-raw-escape: test-ports-nofeature.sh - shell: !include-raw: test-karaf-oxygensafe.expect # Disable this test until ODLPARENT-139 is fixed # - shell: !include-raw-escape: test-rest-ok.sh - shell: !include-raw: stop-odl.sh - shell: !include-raw: uninstall-rpm.sh triggers: - timed: "@monthly" publishers: # TODO: Remove the archive publisher # small data should be stored on logs.opendaylight.org # large data should be stored on nexus.opendaylight.org - archive: artifacts: "**" allow-empty: true fingerprint: true latest-only: true - lf-infra-publish - job-template: name: "packaging-test-rpm-upgrade-master" disable-job: false node: centos7-builder-2c-2g disabled: "{disable-job}" parameters: - opendaylight-infra-parameters: os-cloud: "{os-cloud}" project: "{project}" branch: "{branch}" refspec: "refs/heads/{branch}" artifacts: "{archive-artifacts}" scm: - integration-gerrit-scm: basedir: "packaging" refspec: "$GERRIT_REFSPEC" branch: "master" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: # Tests (current and future): # * Install latest release, stop/uninstall, install latest CD # * Upgrade from latest release latest CD # * TODO: Upgrade from latest release to proposed packaging/** logic # * TODO: Upgrade from CD to proposed packaging/** logic # * TODO: Upgrade from proposed packaging/** logic (older ODL) to # proposed packaging logic (latest ODL) # Test 1: Install latest release, stop/uninstall, install latest CD - inject: # yamllint disable-line rule:line-length properties-content: "URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo" - install-start-test-stop-uninstall-rpm - inject: # yamllint disable-line rule:line-length properties-content: "URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo" - install-start-test-stop-uninstall-rpm # Test 2: Install latest release, stop, upgrade to latest CD - inject: # yamllint disable-line rule:line-length properties-content: "URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo" - install-start-test-stop-rpm - inject: # yamllint disable-line rule:line-length properties-content: "REPO_CFG_FILE_URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo" - installrepcfg-upgrade-start-test-stop-rpm triggers: - timed: "@weekly" - gerrit-trigger-patch-submitted: gerrit-server-name: "{gerrit-server-name}" project: "{project}" branch: "{branch}" files: "packages/**" forbidden-files: "" publishers: - lf-infra-publish - job-template: name: "packaging-test-deb-master" node: ubuntu1604-mininet-ovs-25-1c-4g disable-job: false disabled: "{disable-job}" parameters: - opendaylight-infra-parameters: os-cloud: "{os-cloud}" project: "{project}" branch: "{branch}" refspec: "refs/heads/{branch}" artifacts: "{archive-artifacts}" - string: name: PACKAGE default: "ppa:odl-team/oxygen" description: "Link to .deb package or name of PPA repo" scm: - integration-gerrit-scm: basedir: "packaging" refspec: "$GERRIT_REFSPEC" branch: "master" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: - shell: !include-raw-escape: install-deb.sh - shell: !include-raw: start-odl.sh - shell: !include-raw-escape: test-ports-nofeature.sh - shell: | # Install expect to interact with Karaf shell # Install nmap to check status of ODL's SSH port sudo apt-get install -y expect nmap - shell: !include-raw: test-karaf-oxygensafe.expect # Disable this test until ODLPARENT-139 is fixed # - shell: !include-raw-escape: test-rest-ok.sh - shell: !include-raw: stop-odl.sh - shell: !include-raw-escape: uninstall-deb.sh triggers: - timed: "@monthly" publishers: - lf-infra-publish - job-template: name: "packaging-build-deb-{stream}" node: ubuntu1604-mininet-ovs-25-1c-4g disable-job: false project-type: freestyle disabled: "{disable-job}" mvn-opts: "" mvn-params: "" mvn-version: mvn33 properties: - opendaylight-infra-properties: build-days-to-keep: 7 parameters: - opendaylight-infra-parameters: os-cloud: "{os-cloud}" project: "{project}" branch: "{branch}" refspec: "refs/heads/{branch}" artifacts: "{archive-artifacts}" - lf-infra-maven-parameters: mvn-opts: "{mvn-opts}" mvn-params: "{mvn-params}" mvn-version: "{mvn-version}" staging-profile-id: "" - string: name: DOWNLOAD_URL # FIXME: Update the default value to an active stream. # yamllint disable-line rule:line-length 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" description: "URL to ODL tarball artifact to repackage into .deb" - string: name: CHANGELOG_NAME default: "Jenkins" description: "Name of person who defined .deb" - string: name: CHANGELOG_EMAIL default: "jenkins-donotreply@opendaylight.org" description: "Email of person who defined .deb" - string: name: PKG_VERSION_OVERRIDE default: "" description: "Override autodetected package component of RPM version (maj.min.pat-pkg)" scm: - integration-gerrit-scm: basedir: "packaging" refspec: "$GERRIT_REFSPEC" branch: "master" wrappers: - opendaylight-infra-wrappers: build-timeout: "{build-timeout}" builders: - lf-infra-pre-build - shell: !include-raw: build-deb.sh - install-test-uninstall-deb - lf-infra-deploy-maven-file: global-settings-file: "global-settings" settings-file: "packaging-settings" mvn-version: "{mvn-version}" repo-id: "opendaylight-{stream}-ubuntu-1604-x86_64-devel" group-id: "{group-id}" upload-files-dir: "{upload-files-dir}" maven-repo-url: "{maven-repo-url}" triggers: - timed: "@monthly" publishers: - lf-infra-publish - project: name: packaging-info jobs: - gerrit-info-yaml-verify project: packaging project-name: packaging branch: master build-node: centos7-builder-2c-1g - project: name: packaging-view views: - project-view project-name: packaging