Merge "Fix packaging tox-verify to run only master"
[releng/builder.git] / jjb / packaging / packaging.yaml
index 6af7324a69dd85e263a851823b6b3fac2f1cd469..664380505825896c1537d22a25cde0bbcc647ff4 100644 (file)
@@ -4,28 +4,35 @@
     project-name: packaging
 
     jobs:
-      - '{project-name}-verify-tox-master'
       - 'packaging-build-rpm-{stream}'
       - 'packaging-build-rpm-snap-{stream}'
       - 'packaging-build-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:
-      - boron
       - 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
 
@@ -52,7 +59,7 @@
       - 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.6.0-Carbon/distribution-karaf-0.6.0-Carbon.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
 
     builders:
       - shell: !include-raw: build-rpm.sh
+      - shell: !include-raw: test-rpm-deps.sh
+      - inject:
+          properties-content: 'URL=/home/$USER/rpmbuild/RPMS/noarch/*.rpm'
+      - shell: !include-raw: 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: uninstall-rpm.sh
       - lf-infra-deploy-maven-file:
           global-settings-file: 'global-settings'
           settings-file: 'packaging-settings'
-          mvn-version: 'mvn33'
+          mvn-version: '{mvn-version}'
           repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
-          group-id: 'org.opendaylight.integration-packaging'
-          files-dir: '$WORKSPACE/upload_files'
+          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-snap-{stream}'
 
-    node: centos7-java-builder-2c-4g
+    node: centos7-builder-2c-8g
 
     project-type: freestyle
 
           mvn-params: '{mvn-params}'
           mvn-version: '{mvn-version}'
           staging-profile-id: ''
-      - 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'
       - string:
           name: CHANGELOG_NAME
           default: 'Jenkins'
           build-timeout: '{build-timeout}'
 
     builders:
+      - inject:
+          properties-content: 'STREAM={stream}'
       - shell: !include-raw: build-rpm-snap.sh
+      - shell: !include-raw: test-rpm-deps.sh
       - lf-infra-deploy-maven-file:
           global-settings-file: 'global-settings'
           settings-file: 'packaging-settings'
-          mvn-version: 'mvn33'
+          mvn-version: '{mvn-version}'
           repo-id: 'opendaylight-{stream}-epel-7-x86_64-devel'
-          group-id: 'org.opendaylight.integration-packaging'
-          files-dir: '$WORKSPACE/upload_files'
+          group-id: '{group-id}'
+          upload-files-dir: '{upload-files-dir}'
+          maven-repo-url: '{maven-repo-url}'
 
     triggers:
       - timed: '@daily'
       - 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:
+      # TODO: Install/test each RPM? Will require builder script changes.
+      # 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: build-rpm.sh
+
+      # Test Oxygen pre-release autorelease tarball
+      - 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: build-rpm.sh
+
+      # Test Oxygen multipatch zip (no parallel tarball available)
+      - 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-20171128.175421-68.zip'
+      - shell: !include-raw: build-rpm.sh
+
+      # Test latest Oxygen snapshot
+      - inject:
+          properties-content: 'STREAM=oxygen'
+      - shell: !include-raw: build-rpm-snap.sh
+
+    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:
+      # TODO: Install/test each RPM. Will require builder script changes.
+      # 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: build-rpm.sh
+
+      # 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: build-rpm.sh
+
+      # Test latest Carbon snapshot
+      - inject:
+          properties-content: 'STREAM=carbon'
+      - shell: !include-raw: build-rpm-snap.sh
+
+      # 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: build-rpm.sh
+
+      # 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: build-rpm.sh
+
+      # 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: build-rpm.sh
+
+      # Test latest Nitrogen snapshot
+      - inject:
+          properties-content: 'STREAM=nitrogen'
+      - shell: !include-raw: build-rpm-snap.sh
+
+      # Test Oxygen pre-release autorelease tarball
+      # 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: build-rpm.sh
+
+      # Test Oxygen 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.8.0-SNAPSHOT/karaf-0.8.0-20180111.030942-90.zip'
+      - shell: !include-raw: build-rpm.sh
+
+      # Test latest Oxygen snapshot
+      - inject:
+          properties-content: 'STREAM=oxygen'
+      - shell: !include-raw: build-rpm-snap.sh
+
+    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-master'
 
-    node: centos7-java-builder-2c-4g
+    node: centos7-builder-2c-8g
 
     parameters:
       - opendaylight-infra-parameters:
       - string:
           name: URL
           # yamllint disable-line rule:line-length
-          default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-60-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:
           sudo yum install -y expect
           # Install nmap to check status of ODL's SSH port
           sudo yum install -y nmap
-      - shell: !include-raw: include-raw-test-karaf.expect
+      - shell: !include-raw: test-karaf.expect
       - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
 
     publishers:
       # TODO: Remove the archive publisher
 - job-template:
     name: 'packaging-test-rpm-upgrade-master'
 
-    node: centos7-java-builder-2c-4g
+    node: centos7-builder-2c-8g
 
     parameters:
       - opendaylight-infra-parameters:
       - string:
           name: URL
           # yamllint disable-line rule:line-length
-          default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-6-release.repo'
+          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://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-6-testing.repo'
+          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:
           sudo yum install -y expect
           # Install nmap to check status of ODL's SSH port
           sudo yum install -y nmap
-      - shell: !include-raw: include-raw-test-karaf.expect
+      - 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: include-raw-test-karaf.expect
+      - shell: !include-raw: test-karaf.expect
       - shell: !include-raw: stop-odl.sh
+      - shell: !include-raw: uninstall-rpm.sh
 
     publishers:
       - lf-infra-publish
 - job-template:
     name: 'packaging-test-deb-master'
 
-    node: ubuntu1604-mininet-ovs-25-2c-4g
+    node: ubuntu1604-mininet-ovs-25-1c-4g
 
     parameters:
       - opendaylight-infra-parameters:
           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: include-raw-test-karaf.expect
+      - shell: !include-raw: test-karaf.expect
       - shell: !include-raw: stop-odl.sh
 
     publishers:
 - job-template:
     name: 'packaging-build-deb-{stream}'
 
-    node: ubuntu1604-mininet-ovs-25-2c-4g
+    node: ubuntu1604-mininet-ovs-25-1c-4g
 
     project-type: freestyle
 
           mvn-params: '{mvn-params}'
           mvn-version: '{mvn-version}'
           staging-profile-id: ''
-      - 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'
       - 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: JAVA_HOME
-          default: '/usr/lib/jvm/java-8-openjdk-amd64/'
-          description: Set JAVA_HOME to openjdk8
-      - 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'
           settings-file: 'packaging-settings'
           mvn-version: '{mvn-version}'
           repo-id: 'opendaylight-{stream}-ubuntu-1604-x86_64-devel'
-          group-id: 'org.opendaylight.integration-packaging'
-          files-dir: '$WORKSPACE/upload_files'
+          group-id: '{group-id}'
+          upload-files-dir: '{upload-files-dir}'
+          maven-repo-url: '{maven-repo-url}'
 
     publishers:
       - lf-infra-publish