storperf: Expand the CI verify scope 71/39971/8
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>
Wed, 23 Aug 2017 09:08:08 +0000 (11:08 +0200)
committermbeierl <mark.beierl@dell.com>
Thu, 24 Aug 2017 16:16:37 +0000 (12:16 -0400)
This change
- converts storperf-verify job to multijob type
- adds 2 additional jobs to build docker image(s) on x86 and arm
machines which will contribute to final Verified+1/-1 verdict
- all 3 jobs run in parallel on appropriate slaves

Change-Id: I3c3aec8834d7bd0ef4d7ffbc7453dd063ef10dd1
Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
Signed-off-by: mbeierl <mark.beierl@dell.com>
jjb/storperf/storperf-verify-jobs.yml [new file with mode: 0644]
jjb/storperf/storperf.yml

diff --git a/jjb/storperf/storperf-verify-jobs.yml b/jjb/storperf/storperf-verify-jobs.yml
new file mode 100644 (file)
index 0000000..129c4d1
--- /dev/null
@@ -0,0 +1,191 @@
+- project:
+    name: storperf-verify
+
+    project: 'storperf'
+
+#--------------------------------
+# branches
+#--------------------------------
+    stream:
+        - master:
+            branch: '{stream}'
+            gs-pathname: ''
+            disabled: false
+            docker-tag: 'latest'
+#--------------------------------
+# patch verification phases
+#--------------------------------
+    phase:
+        - 'unit-test':
+            slave-label: 'opnfv-build-ubuntu'
+        - 'build-x86_64':
+            slave-label: 'opnfv-build-ubuntu'
+        - 'build-aarch64':
+            slave-label: 'opnfv-build-ubuntu-arm'
+#--------------------------------
+# jobs
+#--------------------------------
+    jobs:
+        - 'storperf-verify-{stream}'
+        - 'storperf-verify-{phase}-{stream}'
+#--------------------------------
+# job templates
+#--------------------------------
+- job-template:
+    name: 'storperf-verify-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+            branch: '{branch}'
+        - 'opnfv-build-defaults'
+
+    scm:
+        - git-scm-gerrit
+
+    triggers:
+        - gerrit:
+            server-name: 'gerrit.opnfv.org'
+            trigger-on:
+                - 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: 'recheck'
+                - comment-added-contains-event:
+                    comment-contains-value: 'reverify'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: '{project}'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/{branch}'
+
+    builders:
+        - shell: |
+            #!/bin/bash
+
+            # we do nothing here as the main stuff will be done
+            # in phase jobs
+            echo "Triggering phase jobs!"
+        - multijob:
+            name: 'unit-test'
+            condition: SUCCESSFUL
+            projects:
+                - name: 'storperf-verify-unit-test-{stream}'
+                  current-parameters: false
+                  predefined-parameters: |
+                    GERRIT_BRANCH=$GERRIT_BRANCH
+                    GERRIT_REFSPEC=$GERRIT_REFSPEC
+                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                  git-revision: true
+                  node-parameters: false
+                  kill-phase-on: FAILURE
+                  abort-all-job: false
+            name: 'build-x86_64'
+            condition: SUCCESSFUL
+            projects:
+                - name: 'storperf-verify-build-x86_64-{stream}'
+                  current-parameters: false
+                  predefined-parameters: |
+                    GERRIT_BRANCH=$GERRIT_BRANCH
+                    GERRIT_REFSPEC=$GERRIT_REFSPEC
+                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                    ARCH=x86_64
+                  git-revision: true
+                  node-parameters: false
+                  kill-phase-on: FAILURE
+                  abort-all-job: false
+            name: 'build-aarch64'
+            condition: SUCCESSFUL
+            projects:
+                - name: 'storperf-verify-build-aarch64-{stream}'
+                  current-parameters: false
+                  predefined-parameters: |
+                    GERRIT_BRANCH=$GERRIT_BRANCH
+                    GERRIT_REFSPEC=$GERRIT_REFSPEC
+                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                    ARCH=aarch64
+                  git-revision: true
+                  node-parameters: false
+                  kill-phase-on: FAILURE
+                  abort-all-job: false
+
+- job-template:
+    name: 'storperf-verify-{phase}-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    wrappers:
+        - ssh-agent-wrapper
+        - build-timeout:
+            timeout: 30
+
+    parameters:
+        - '{slave-label}-defaults'
+
+    scm:
+        - git-scm-gerrit
+
+    builders:
+        - 'storperf-verify-{phase}-builders-macro'
+
+    publishers:
+        - 'storperf-verify-{phase}-publishers-macro'
+#--------------------------------
+# builder macros
+#--------------------------------
+- builder:
+    name: 'storperf-verify-unit-test-builders-macro'
+    builders:
+        - shell: |
+            $WORKSPACE/ci/verify.sh
+- builder:
+    name: 'storperf-verify-build-x86_64-builders-macro'
+    builders:
+        - shell: |
+            $WORKSPACE/ci/verify-build.sh
+- builder:
+    name: 'storperf-verify-build-aarch64-builders-macro'
+    builders:
+        - shell: |
+            $WORKSPACE/ci/verify-build.sh
+#--------------------------------
+# publisher macros
+#--------------------------------
+- publisher:
+    name: 'storperf-verify-unit-test-publishers-macro'
+    publishers:
+        - junit:
+            results: nosetests.xml
+        - cobertura:
+            report-file: "coverage.xml"
+            only-stable: "true"
+            health-auto-update: "true"
+            stability-auto-update: "true"
+            zoom-coverage-chart: "true"
+            targets:
+                - files:
+                    healthy: 10
+                    unhealthy: 20
+                    failing: 30
+                - method:
+                    healthy: 50
+                    unhealthy: 40
+                    failing: 30
+        - email-jenkins-admins-on-failure
+- publisher:
+    name: 'storperf-verify-build-x86_64-publishers-macro'
+    publishers:
+        - email-jenkins-admins-on-failure
+- publisher:
+    name: 'storperf-verify-build-aarch64-publishers-macro'
+    publishers:
+        - email-jenkins-admins-on-failure
index f675cbb..de169d0 100644 (file)
@@ -4,7 +4,6 @@
     project: '{name}'
 
     jobs:
-        - 'storperf-verify-{stream}'
         - 'storperf-merge-{stream}'
         - 'storperf-daily-{stream}'
 
             disabled: false
             docker-tag: 'stable'
 
-- job-template:
-    name: 'storperf-verify-{stream}'
-
-    disabled: '{obj:disabled}'
-
-    node: opnfv-build-ubuntu
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - string:
-            name: GIT_BASE
-            default: https://gerrit.opnfv.org/gerrit/$PROJECT
-            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
-
-    scm:
-        - git-scm-gerrit
-
-    triggers:
-        - gerrit:
-            server-name: 'gerrit.opnfv.org'
-            trigger-on:
-                - 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: 'recheck'
-                - comment-added-contains-event:
-                    comment-contains-value: 'reverify'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-
-    builders:
-        - shell: |
-            $WORKSPACE/ci/verify.sh
-
-    publishers:
-        - junit:
-            results: nosetests.xml
-        - cobertura:
-            report-file: "coverage.xml"
-            only-stable: "true"
-            health-auto-update: "true"
-            stability-auto-update: "true"
-            zoom-coverage-chart: "true"
-            targets:
-                - files:
-                    healthy: 10
-                    unhealthy: 20
-                    failing: 30
-                - method:
-                    healthy: 50
-                    unhealthy: 40
-                    failing: 30
-        - email-jenkins-admins-on-failure
-
 - job-template:
     name: 'storperf-merge-{stream}'