Make integration-distribution-test job run daily
[releng/builder.git] / jjb / integration / integration-jobs.yaml
index 469c9bc75d5554c2ba1d620fadb19d1f49670cad..63b243db64486ee34a3a84af520b8a7886d20372 100644 (file)
@@ -1,21 +1,23 @@
-# ODL Releng build templates
 
 - project:
     name: integration
     jobs:
+        - 'integration-csit-verify-{stream}'
         - 'integration-distribution-verify-{stream}'
         - 'integration-distribution-merge-{stream}'
-        - 'integration-csit-verify-{stream}'
+        - 'integration-distribution-offline-{stream}'
+        - 'integration-distribution-test-{stream}'
+        - 'integration-patch-test-{stream}'
 
-    # stream:    branch with - in place of / (eg. stable-helium)
-    # branch:    branch (eg. stable/helium)
     stream:
         - master:
             branch: 'master'
+            csit-list: 'controller-csit-1node-cds-netconf-only-{stream},controller-csit-1node-cds-netconf-all-{stream},aaa-csit-1node-cds-authn-only-{stream},aaa-csit-1node-cds-authn-all-{stream},openflowplugin-csit-1node-cds-flow-services-only-{stream},openflowplugin-csit-1node-cds-flow-services-all-{stream},openflowplugin-csit-1node-cds-scalability-only-{stream},openflowplugin-csit-1node-cds-scalability-all-{stream},openflowplugin-csit-1node-cds-cbench-performance-only-{stream},openflowplugin-csit-1node-cds-config-performance-only-{stream},l2switch-csit-1node-cds-switch-only-{stream},l2switch-csit-1node-cds-switch-all-{stream},l2switch-csit-1node-cds-scalability-only-{stream},l2switch-csit-1node-cds-scalability-all-{stream},vtn-csit-1node-cds-manager-only-{stream},vtn-csit-1node-cds-manager-all-{stream},lispflowmapping-csit-1node-cds-all-only-{stream},lispflowmapping-csit-1node-cds-all-all-{stream}'
+
         - stable-helium:
             branch: 'stable/helium'
+            csit-list: 'controller-csit-1node-imds-nsf-only-{stream},controller-csit-1node-imds-nsf-all-{stream},controller-csit-1node-imds-netconf-only-{stream},controller-csit-1node-imds-netconf-all-{stream},aaa-csit-1node-imds-authn-only-{stream},aaa-csit-1node-imds-authn-all-{stream},openflowplugin-csit-1node-imds-flow-services-only-{stream},openflowplugin-csit-1node-imds-flow-services-all-{stream},l2switch-csit-1node-imds-switch-only-{stream},l2switch-csit-1node-imds-switch-all-{stream},vtn-csit-1node-imds-manager-only-{stream},vtn-csit-1node-imds-manager-all-{stream},lispflowmapping-csit-1node-imds-all-only-{stream},lispflowmapping-csit-1node-imds-all-all-{stream}'
 
-    project: 'integration'
     jdk: 'openjdk7'
 
 # For the Job templates below replace instances of:
 # MAVEN_OPTS with your maven options to build
 
 - job-template:
-    name: 'integration-distribution-verify-{stream}'
+    name: 'integration-csit-verify-{stream}'
+
+    project-type: freestyle
+    node: dynamic_robot
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+        - project-parameter:
+            project: 'integration'
+        - integration-branch:
+            branch: '{branch}'
+        - integration-bundleurl:
+            bundleurl: 'last'
+        - integration-controller-scope:
+            controller-scope: 'only'
+        - integration-controller-features:
+            controller-features: 'odl-openflowplugin-flow-services-ui'
+        - integration-test-options:
+            test-options: '-e adsal'
+        - integration-test-plan:
+            test-plan: 'openflowplugin-flow-services.txt'
 
-    # Job template for ODL verify jobs
-    #
-    # The purpose of this job template is to setup a ODL verify job
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable-helium)
-    #     branch:    branch (eg. stable/helium)
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
+
+    wrappers:
+        - build-timeout
+        - integration-jclouds-controller-mininet:
+            controller-vms: 1
+            mininet-vms: 1
+        - ssh-agent-credentials:
+            users:
+                - '{ssh-credentials}'
+
+    triggers:
+        - integration-csit-gerrit-trigger-patch-submitted:
+            name: 'integration'
+            branch: '{branch}'
+
+    builders:
+        - integration-get-slave-addresses
+        - inject:
+            properties-file: 'slave_addresses.txt'
+        - integration-deploy-controller-run-test
+
+    publishers:
+        - integration-robot:
+            unstable-if: 0.0
+            pass-if: 0.0
+        - archive:
+            artifacts: 'karaf.log'
+        - email-notification:
+            email-prefix: '[integration]'
+
+- job-template:
+    name: 'integration-distribution-verify-{stream}'
 
     project-type: maven
     node: dynamic_verify
 
     parameters:
         - project-parameter:
-            project: '{project}'
+            project: 'integration'
         - gerrit-parameter:
             branch: '{branch}'
 
     wrappers:
         - build-timeout
         - ssh-agent-credentials:
-            user: '{ssh-credentials}'
+            users:
+                - '{ssh-credentials}'
 
     triggers:
         - integration-distribution-gerrit-trigger-patch-submitted:
     maven:
         maven-name: '{mvn32}'
         root-pom: 'pom.xml'
-        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+        goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
+        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
         settings: '{integration-settings}'
         global-settings: '{odl-global-settings}'
         ignore-upstream-changes: true
 - job-template:
     name: 'integration-distribution-merge-{stream}'
 
-    # Job template for ODL merge jobs
-    #
-    # The purpose of this job template is to setup a ODL merge job
-    # and deploy artifacts to Nexus.
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable-helium)
-    #     branch:    branch (eg. stable/helium)
-
     project-type: maven
     node: dynamic_merge
     jdk: '{jdk}'
 
     parameters:
         - project-parameter:
-            project: '{project}'
+            project: 'integration'
 
     scm:
         - gerrit-trigger-scm:
     wrappers:
         - build-timeout
         - ssh-agent-credentials:
-            user: '{ssh-credentials}'
+            users:
+                - '{ssh-credentials}'
 
     triggers:
         - integration-distribution-gerrit-trigger-patch-merged:
     maven:
         maven-name: '{mvn32}'
         root-pom: 'pom.xml'
-        goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+        goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
+        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
         settings: '{integration-settings}'
         global-settings: '{odl-global-settings}'
 
             deploy-unstable: false
 
 - job-template:
-    name: 'integration-csit-verify-{stream}'
+    name: 'integration-distribution-offline-{stream}'
 
     project-type: freestyle
-    node: dynamic_robot
+    node: dynamic_controller
 
     logrotate:
         daysToKeep: '{build-days-to-keep}'
             branch: '{branch}'
         - integration-bundleurl:
             bundleurl: 'last'
-        - integration-controller-scope:
-            controller-scope: 'only'
-        - integration-controller-features:
-            controller-features: 'odl-openflowplugin-flow-services-ui'
-        - integration-test-options:
-            test-options: '-e adsal'
-        - integration-test-plan:
-            test-plan: 'openflowplugin-flow-services.txt'
 
     scm:
-        - gerrit-trigger-scm:
+        - git-scm:
             credentials-id: '{ssh-credentials}'
-            refspec: '$GERRIT_REFSPEC'
-            choosing-strategy: 'gerrit'
+            refspec: ''
+            branch: '{branch}'
 
     wrappers:
         - build-timeout
-        - integration-jclouds-controller-mininet:
-            controller-vms: 1
-            mininet-vms: 1
         - ssh-agent-credentials:
-            user: '{ssh-credentials}'
+            users:
+                - '{ssh-credentials}'
 
     triggers:
-        - integration-csit-gerrit-trigger-patch-submitted:
-            name: 'integration'
-            branch: '{branch}'
+        - timed: 'H H * * *'
 
     builders:
-        - integration-get-slave-addresses
-        - inject:
-            properties-file: 'slave_addresses.txt'
-        - integration-deploy-controller-run-test
+        - integration-deploy-controller-offline
 
     publishers:
-        - integration-robot:
-            unstable-if: 97.0
-            pass-if: 97.0
         - archive:
             artifacts: 'karaf.log'
         - email-notification:
-            email-prefix: '[{project}]'
+            email-prefix: '[integration]'
+
+- job-template:
+    name: 'integration-distribution-test-{stream}'
+
+    project-type: freestyle
+    node: dynamic_controller
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+        - integration-bundleurl:
+            bundleurl: 'last'
+
+    triggers:
+        - timed: 'H H * * *'
+
+    builders:
+        - trigger-builds:
+            - project: '{csit-list}'
+              block: true
+              predefined-parameters:
+                  BUNDLEURL=$BUNDLEURL
+
+    publishers:
+        - email-notification:
+            email-prefix: '[integration]'
+
+- job-template:
+    name: 'integration-patch-test-{stream}'
+
+    project-type: maven
+    node: dynamic_verify
+    jdk: '{jdk}'
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+        - project-parameter:
+            project: 'integration'
+        - integration-patch-git-url
+
+    scm:
+        - integration-gerrit-scm:
+            credentials-id: '{ssh-credentials}'
+            branch: '{branch}'
+        - integration-git-scm:
+            credentials-id: '{ssh-credentials}'
+            branch: '{branch}'
+
+    wrappers:
+        - build-timeout
+        - ssh-agent-credentials:
+            users:
+                - '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            server-name: 'OpenDaylight'
+            trigger-on:
+                - comment-added-contains-event:
+                    comment-contains-value: 'test-integration'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: '**'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+            skip-vote:
+                successful: true
+                failed: true
+                unstable: true
+                notbuilt: true
+
+    prebuilders:
+        - integration-get-bundle-url
+        - inject:
+            properties-file: 'bundle.txt'
+        - wipe-org-opendaylight-repo
+        - maven-target:
+            maven-version: '{mvn32}'
+            pom: '$GERRIT_PROJECT/pom.xml'
+            goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
+            java-opts:
+                - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+            settings: '{integration-settings}'
+            global-settings: '{odl-global-settings}'
+
+    maven:
+        maven-name: '{mvn32}'
+        root-pom: 'integration/pom.xml'
+        goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
+        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+        settings: '{integration-settings}'
+        global-settings: '{odl-global-settings}'
+        ignore-upstream-changes: true
+
+    postbuilders:
+        - trigger-builds:
+            - project: 'integration-distribution-test-{stream}'
+              block: true
+              predefined-parameters:
+                  BUNDLEURL=$BUNDLEURL
+
+    publishers:
+        - email-notification:
+            email-prefix: '[integration]'