X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fpackaging%2Fpackaging.yaml;h=23b54285600ebac9507d41b9bc3116ea76ff1d7f;hb=refs%2Fchanges%2F63%2F68263%2F3;hp=c2bc473201b3224fbb44f96deda85f729bfe678a;hpb=818eff4aa893baca63130dbc45d85250c70b8c84;p=releng%2Fbuilder.git diff --git a/jjb/packaging/packaging.yaml b/jjb/packaging/packaging.yaml index c2bc47320..23b542856 100644 --- a/jjb/packaging/packaging.yaml +++ b/jjb/packaging/packaging.yaml @@ -4,26 +4,42 @@ project-name: packaging jobs: - - '{project-name}-verify-tox-{stream}' - 'packaging-build-rpm-{stream}' - 'packaging-build-rpm-snap-{stream}' - 'packaging-build-deb-{stream}' - - 'packaging-test-rpm-{stream}' - - 'packaging-test-deb-{stream}' + - 'packaging-verify-full-rpm-master' + - 'packaging-verify-rpm-master' + - 'packaging-test-rpm-master' + - 'packaging-test-rpm-upgrade-master' + - 'packaging-test-deb-master' + - gerrit-tox-verify: + branch: master + stream: master project: 'integration/packaging' stream: - - master: - branch: 'master' + - carbon + - nitrogen + - oxygen + 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}' - node: centos7-java-builder-2c-4g + node: centos7-builder-2c-8g project-type: freestyle + mvn-opts: '' + mvn-params: '' + mvn-version: mvn33 + properties: - opendaylight-infra-properties: build-days-to-keep: 7 @@ -35,10 +51,15 @@ 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/distribution-karaf/0.5.3-Boron-SR3/distribution-karaf-0.5.3-Boron-SR3.tar.gz' + default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.7.0/karaf-0.7.0.tar.gz' description: 'URL to ODL tarball artifact to repackage into RPM' - string: name: CHANGELOG_NAME @@ -60,19 +81,32 @@ build-timeout: '{build-timeout}' builders: - - shell: !include-raw: include-raw-build-rpm.sh + - 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: 'opendaylight-{stream}-epel-7-x86_64-devel' + group-id: '{group-id}' + upload-files-dir: '{upload-files-dir}' + maven-repo-url: '{maven-repo-url}' publishers: - - archive-artifacts: - artifacts: '**/*.rpm' + - lf-infra-publish + - job-template: name: 'packaging-build-rpm-snap-{stream}' - node: centos7-java-builder-2c-4g + node: centos7-builder-2c-8g project-type: freestyle + mvn-opts: '' + mvn-params: '' + mvn-version: mvn33 + properties: - opendaylight-infra-properties: build-days-to-keep: 7 @@ -84,14 +118,11 @@ branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - - string: - name: VERSION_MAJOR - default: '7' - description: 'OpenDaylight major (element) version number to build' - - string: - name: VERSION_MINOR - default: '0' - description: 'OpenDaylight minor (SR) version number to build' + - 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' @@ -112,19 +143,224 @@ build-timeout: '{build-timeout}' builders: - - shell: !include-raw: include-raw-build-rpm-snap.sh + - inject: + properties-content: 'STREAM={stream}' + - shell: !include-raw: build-rpm-snap.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: 'opendaylight-{stream}-epel-7-x86_64-devel' + group-id: '{group-id}' + upload-files-dir: '{upload-files-dir}' + maven-repo-url: '{maven-repo-url}' + + triggers: + - timed: '@daily' publishers: - - archive-artifacts: - artifacts: '**/*.rpm' + - lf-infra-publish + + +- job-template: + name: 'packaging-verify-rpm-master' + + node: centos7-builder-2c-8g + + project-type: freestyle + + 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 Nitrogen 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.7.0/karaf-0.7.0.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm + + # Test Oxygen pre-release autorelease tarball + # FIXME: There aren't any available Oxygen autorelease builds, add one once possible + # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139 + # - inject: + # yamllint disable-line rule:line-length + # properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2052/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz' + # - shell: !include-raw-escape: build-rpm.sh + # - install-test-uninstall-rpm + + # Test Oxygen multipatch zip (no parallel tarball available) + # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139 + # - inject: + # yamllint disable-line rule:line-length + # properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180204.191936-134.zip' + # - shell: !include-raw-escape: build-rpm.sh + # - install-test-uninstall-rpm + + # Test latest Oxygen snapshot + # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139 + # - inject: + # properties-content: 'STREAM=oxygen' + # - shell: !include-raw: build-rpm-snap.sh + # - install-test-uninstall-rpm + + triggers: + - gerrit: + server-name: '{gerrit-server-name}' + projects: + - project-compare-type: ANT + project-pattern: '{project}' + branches: + - branch-compare-type: ANT + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: 'packages/**' + + publishers: + - lf-infra-publish + + +- job-template: + name: 'packaging-verify-full-rpm-master' + + node: centos7-builder-2c-8g + + project-type: freestyle + + 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 Carbon SR2 tarball + - inject: + # yamllint disable-line rule:line-length + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.6.2-Carbon/distribution-karaf-0.6.2-Carbon.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm + + # Test Carbon multipatch zip (no parallel tarball available) + # NB: This will need to be updated as old builds expire + - inject: + # yamllint disable-line rule:line-length + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/distribution-karaf/0.6.3-SNAPSHOT/distribution-karaf-0.6.3-20180115.181738-1.zip' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm + + # Test latest Carbon snapshot + - inject: + properties-content: 'STREAM=carbon' + - shell: !include-raw: build-rpm-snap.sh + - install-test-uninstall-rpm + + # Test Nitrogen 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.7.0/karaf-0.7.0.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm + + # Test Nitrogen SR1 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.7.1/karaf-0.7.1.tar.gz' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm + + # Test Nitrogen multipatch zip (no parallel tarball available) + # NB: This will need to be updated as old builds expire + - inject: + # yamllint disable-line rule:line-length + properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.7.2-SNAPSHOT/karaf-0.7.2-20180115.183312-2.zip' + - shell: !include-raw-escape: build-rpm.sh + - install-test-uninstall-rpm + + # Test latest Nitrogen snapshot + - inject: + properties-content: 'STREAM=nitrogen' + - shell: !include-raw: build-rpm-snap.sh + - install-test-uninstall-rpm + + # Test Oxygen pre-release autorelease tarball + # FIXME: There aren't any available Oxygen autorelease builds, add one once possible + # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139 + # NB: This will need to be updated as old builds expire + # - inject: + # yamllint disable-line rule:line-length + # properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/autorelease-2052/org/opendaylight/integration/karaf/0.8.0/karaf-0.8.0.tar.gz' + # - shell: !include-raw-escape: build-rpm.sh + # - install-test-uninstall-rpm + + # Test Oxygen multipatch zip (no parallel tarball available) + # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139 + # NB: This will need to be updated as old builds expire + # - inject: + # yamllint disable-line rule:line-length + # properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.8.0-SNAPSHOT/karaf-0.8.0-20180204.191936-134.zip' + # - shell: !include-raw: build-rpm.sh + # - install-test-uninstall-rpm + + # Test latest Oxygen snapshot + # FIXME: Oxygen tests fail due to jira.opendaylight.org/browse/ODLPARENT-139 + # NB: Leaving this one known-failing Oxygen test running so can watch for fix + - inject: + properties-content: 'STREAM=oxygen' + - shell: !include-raw: build-rpm-snap.sh + - install-test-uninstall-rpm triggers: - timed: '@daily' + - 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-{stream}' + name: 'packaging-test-rpm-master' - node: centos7-java-builder-2c-4g + node: centos7-builder-2c-8g parameters: - opendaylight-infra-parameters: @@ -136,7 +372,7 @@ - string: name: URL # yamllint disable-line rule:line-length - default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-52-release.repo' + default: 'https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-8-devel.repo' description: 'Link to .repo or .rpm file' scm: @@ -150,17 +386,34 @@ build-timeout: '{build-timeout}' builders: - - shell: !include-raw: include-raw-test-rpm.sh - - shell: !include-raw: include-raw-test-karaf.expect + - 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.expect + - shell: !include-raw-escape: test-rest-ok.sh + - shell: !include-raw: stop-odl.sh + - shell: !include-raw: uninstall-rpm.sh publishers: - - archive-artifacts: + # 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-deb-{stream}' + name: 'packaging-test-rpm-upgrade-master' - node: ubuntu1604-mininet-ovs-25-2c-4g + node: centos7-builder-2c-8g parameters: - opendaylight-infra-parameters: @@ -170,10 +423,15 @@ refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - string: - name: PACKAGE + name: URL + # yamllint disable-line rule:line-length + default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-release.repo' + description: 'Link to .repo or .rpm file' + - string: + name: UPGRADE_URL # yamllint disable-line rule:line-length - default: 'https://launchpad.net/~odl-team/+archive/ubuntu/carbon/+files/opendaylight_6.0.0-1_all.deb' - description: 'Link to .deb file or name of custom PPA repo (ppa:odl-team/carbon)' + default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-7-devel.repo' + description: 'Link to .repo or .rpm file' scm: - integration-gerrit-scm: @@ -186,20 +444,78 @@ build-timeout: '{build-timeout}' builders: - - shell: !include-raw: include-raw-test-deb.sh - - shell: !include-raw: include-raw-test-karaf.expect + - shell: !include-raw-escape: install-rpm.sh + - shell: !include-raw: start-odl.sh + - shell: | + # Install expect to interact with Karaf shell + sudo yum install -y expect + # Install nmap to check status of ODL's SSH port + sudo yum install -y nmap + - shell: !include-raw: test-karaf.expect + - shell: !include-raw: stop-odl.sh + - shell: !include-raw: test-rpm-upgrade.sh + - shell: !include-raw: start-odl.sh + - shell: !include-raw: test-karaf.expect + - shell: !include-raw: stop-odl.sh + - shell: !include-raw: uninstall-rpm.sh publishers: - - archive-artifacts: - artifacts: '**' + - lf-infra-publish + + +- job-template: + name: 'packaging-test-deb-master' + + node: ubuntu1604-mininet-ovs-25-1c-4g + + 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/carbon' + 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: install-deb.sh + - shell: !include-raw: start-odl.sh + - shell: | + # Install expect to interact with Karaf shell + sudo apt-get install -y expect + # Install nmap to check status of ODL's SSH port + sudo apt-get install -y nmap + - shell: !include-raw: test-karaf.expect + - shell: !include-raw: stop-odl.sh + + publishers: + - lf-infra-publish + - job-template: name: 'packaging-build-deb-{stream}' - node: ubuntu1404-mininet-2c-2g + node: ubuntu1604-mininet-ovs-25-1c-4g project-type: freestyle + mvn-opts: '' + mvn-params: '' + mvn-version: mvn33 + properties: - opendaylight-infra-properties: build-days-to-keep: 7 @@ -211,47 +527,17 @@ branch: '{branch}' refspec: 'refs/heads/{branch}' artifacts: '{archive-artifacts}' - - string: - name: VERSION_MAJOR - default: '5' - description: 'OpenDaylight major (element) version number to build' - - string: - name: VERSION_MINOR - default: '3' - description: 'OpenDaylight minor (SR) version number to build' - - string: - name: VERSION_PATCH - default: '0' - description: 'OpenDaylight patch version to build' - - string: - name: PKG_VERSION - default: '1' - description: 'Deb version for the given ODL major.minor.patch' - - string: - name: SYSD_COMMIT - default: 'ba1f409c1a46efd068b16ced6ddc8b32a412b03a' - description: 'Version of ODL systemd unitfile to download and package in ODL .deb' - - string: - name: CODENAME - default: 'Boron-SR3' - description: 'Elemental codename for the ODL release, including SR if applicable' + - 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: JAVA_VERSION - default: '8' - description: Java dependency for the ODL release - - string: - name: CHANGELOG_DATE - default: 'Mon, 1 Aug 2016' - description: 'Date this .deb was defined' - - string: - name: CHANGELOG_TIME - default: '17:48:42 +0530' - description: 'Time this .deb was defined' - string: name: CHANGELOG_NAME default: 'Jenkins' @@ -272,8 +558,15 @@ build-timeout: '{build-timeout}' builders: - - shell: !include-raw: include-raw-build-deb.sh + - shell: !include-raw: build-deb.sh + - 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}' publishers: - - archive-artifacts: - artifacts: 'packaging/deb/opendaylight/*.deb' + - lf-infra-publish