doctor: use trigger-builders to override param
[releng.git] / jjb / doctor / doctor.yml
index 9bcf20b..fcbd1b0 100644 (file)
 - project:
     name: doctor
-    jobs:
-        - 'doctor-test'
-        - 'doctor-daily-master'
-        - 'doctor-merge'
-        - 'doctor-verify'
 
-    # stream:    branch with - in place of / (eg. stable-helium)
-    # branch:    branch (eg. stable/helium)
+    project: '{name}'
+
     stream:
         - master:
-            branch: 'master'
-
-    project: 'doctor'
-    somevar: 'foo'
-
-- job-template:
-    name: doctor-test
-
-    project-type: freestyle
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
+            branch: '{stream}'
+            gs-pathname: ''
+            docker_tag: 'master'
+            disabled: false
+        - colorado:
+            branch: 'stable/{stream}'
+            gs-pathname: '/{stream}'
+            docker_tag: 'stable'
+            disabled: false
+
+    installer:
+        - apex:
+            slave-label: 'ool-virtual1'
+
+    inspector:
+        - sample
+        - congress
 
-    builders:
-        - shell: |
-            echo "Hello world from doctor"
+    jobs:
+        - 'doctor-verify-{stream}'
+        - 'doctor-verify-{installer}-{inspector}-{stream}'
 
 - job-template:
-    name: 'doctor-daily-master'
-
-    # Job template for daily builders
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable)
-    #     branch:    branch (eg. stable)
-
-    project-type: freestyle
-    varsetabove: '{somevar}'
+    name: 'doctor-verify-{stream}'
 
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
+    disabled: '{obj:disabled}'
 
     parameters:
         - project-parameter:
             project: '{project}'
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
+        - gerrit-parameter:
             branch: '{branch}'
+        - 'opnfv-build-ubuntu-defaults'
 
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    triggers:
-        - timed: 'H H * * *'
-
-    prebuilders:
-        - test-macro
-
-    builders:
-        - shell: |
-            pwd
-            find .
-            echo "Hello world from doctor {somevar} daily"
-
-    postbuilders:
-        - test-macro
-
-- job-template:
-    name: 'doctor-verify'
-
-    project-type: freestyle
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameter:
-            branch: 'master'
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
     triggers:
         - gerrit:
             trigger-on:
                     comment-contains-value: 'reverify'
             projects:
               - project-compare-type: 'ANT'
-                project-pattern: 'doctor'
+                project-pattern: '{project}'
                 branches:
                   - branch-compare-type: 'ANT'
-                    branch-pattern: '**/master'
+                    branch-pattern: '**/{branch}'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'tests/**'
 
     builders:
-        - shell: |
-            pwd
-            find .
-            echo "verify logic goes here"
+        - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
 
 - job-template:
-    name: 'doctor-merge'
-
-    # builder-merge job to run JJB update
-    #
-    # This job's purpose is to update all the JJB
-
-    project-type: freestyle
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 40
-        artifactDaysToKeep: -1
-        artifactNumToKeep: 5
+    name: 'doctor-verify-{installer}-{inspector}-{stream}'
 
     parameters:
         - project-parameter:
             project: '{project}'
         - gerrit-parameter:
-            branch: 'master'
+            branch: '{branch}'
+        - string:
+            name: INSPECTOR_TYPE
+            default: '{inspector}'
+            description: 'Doctor inspector type to be used'
+        - string:
+            name: OS_CREDS
+            default: /home/jenkins/openstack.creds
+            description: 'OpenStack credentials'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            refspec: ''
-            choosing-strategy: 'default'
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
 
     triggers:
         - gerrit:
             trigger-on:
-                - change-merged-event
+                - patchset-created-event:
+                    exclude-drafts: 'false'
+                    exclude-trivial-rebase: 'false'
+                    exclude-no-code-change: 'false'
+                - draft-published-event
                 - comment-added-contains-event:
-                    comment-contains-value: 'remerge'
+                    comment-contains-value: 'recheck'
+                - comment-added-contains-event:
+                    comment-contains-value: 'reverify'
             projects:
               - project-compare-type: 'ANT'
-                project-pattern: 'doctor'
+                project-pattern: '{project}'
                 branches:
-                    - branch-compare-type: 'ANT'
-                      branch-pattern: '**/master'
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'tests/**'
+            skip-vote:
+                successful: true
+                failed: true
+                unstable: true
+                notbuilt: true
 
     builders:
-        - shell: |
-            pwd
-            find .
-            echo "merge logic goes here"
-
-
-
-
-
-
+        - trigger-builds:
+          - project: 'functest-{installer}-virtual-suite-{stream}'
+            current-parameters: true
+            predefined-parameters: |
+              FUNCTEST_SUITE_NAME=doctor
+              TESTCASE_OPTIONS='-e INSPECTOR_TYPE=$INSPECTOR_TYPE -v $WORKSPACE:$HOME/opnfv/repos/doctor'
+            block: true
+            same-node: true