summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jjb/doctor/doctor.yml134
1 files changed, 111 insertions, 23 deletions
diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml
index 6a04c5fbc..e28f74431 100644
--- a/jjb/doctor/doctor.yml
+++ b/jjb/doctor/doctor.yml
@@ -25,6 +25,12 @@
# slave-label: 'ool-virtual3'
# pod: 'ool-virtual3'
+ phase:
+ - 'build-x86_64':
+ slave-label: 'opnfv-build-ubuntu'
+ - 'build-aarch64':
+ slave-label: 'opnfv-build-ubuntu-arm'
+
inspector:
- 'sample'
- 'congress'
@@ -37,22 +43,23 @@
auto-trigger-name: 'doctor-verify'
is-python: true
- pod:
- - armband-baremetal:
- slave-label: '{pod}'
- - armband-virtual:
- slave-label: '{pod}'
+ exclude:
+ - installer: 'apex'
+ phase: 'build-aarch64'
jobs:
- 'doctor-verify-{stream}'
- - 'doctor-{task}-{installer}-{inspector}-{pod}-{stream}'
+ - 'doctor-verify-unit-test-{stream}'
- 'doctor-{task}-{installer}-{inspector}-{stream}'
+ - 'doctor-{task}-{installer}-{inspector}-{phase}-{stream}'
- job-template:
name: 'doctor-verify-{stream}'
disabled: '{obj:disabled}'
+ project-type: 'multijob'
+
parameters:
- project-parameter:
project: '{project}'
@@ -86,38 +93,54 @@
pattern: 'doctor_tests/**'
builders:
- - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
+ - shell: |
+ #!/bin/bash
+ # we do nothing here as the main stuff will be done
+ # in phase jobs
+ echo "Triggering phase jobs!"
+ - multijob:
+ name: 'doctor-build-and-unittest'
+ execution-type: PARALLEL
+ projects:
+ - name: 'doctor-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
- job-template:
- name: 'doctor-{task}-{installer}-{inspector}-{pod}-{stream}'
-
- node: '{slave-label}'
-
+ name: 'doctor-verify-unit-test-{stream}'
disabled: '{obj:disabled}'
-
+ wrappers:
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 60
parameters:
- project-parameter:
project: '{project}'
branch: '{branch}'
- 'opnfv-build-ubuntu-defaults'
-
scm:
- git-scm-gerrit
-
-
- triggers:
- - '{auto-trigger-name}':
- project: '{project}'
- branch: '{branch}'
- files: 'doctor_tests/**'
-
builders:
- - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
+ - 'doctor-verify-unit-test-builders-macro'
+ publishers:
+ - 'doctor-verify-unit-test-publishers-macro'
- job-template:
name: 'doctor-{task}-{installer}-{inspector}-{stream}'
+ disabled: '{obj:disabled}'
+
+ project-type: 'multijob'
+
node: '{slave-label}'
parameters:
@@ -151,13 +174,17 @@
default: 'doctor-notification'
- string:
name: TESTCASE_OPTIONS
+ # yamllint disable rule:line-length
default: '-e INSPECTOR_TYPE={inspector} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor'
+ # yamllint enable rule:line-length
description: 'Addtional parameters specific to test case(s)'
# functest-parameter
- string:
name: GS_PATHNAME
default: '{gs-pathname}'
+ # yamllint disable rule:line-length
description: "Version directory where the opnfv documents will be stored in gs repository"
+ # yamllint enable rule:line-length
- string:
name: FUNCTEST_REPO_DIR
default: "/home/opnfv/repos/functest"
@@ -181,7 +208,59 @@
files: 'doctor_tests/**'
builders:
+ - shell: |
+ #!/bin/bash
+ # we do nothing here as the main stuff will be done
+ # in phase jobs
+ echo "Triggering phase jobs!"
+ - multijob:
+ name: 'doctor-verify-installer-inspector'
+ execution-type: PARALLEL
+ projects:
+ - name: 'doctor-{task}-{installer}-{inspector}-build-x86_64-{stream}'
+ current-parameters: false
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
+ - name: 'doctor-{task}-{installer}-{inspector}-build-aarch64-{stream}'
+ current-parameters: false
+ git-revision: true
+ node-parameters: false
+ kill-phase-on: FAILURE
+ abort-all-job: false
+
+- job-template:
+ name: 'doctor-{task}-{installer}-{inspector}-{phase}-{stream}'
+ disabled: '{obj:disabled}'
+ wrappers:
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 30
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{slave-label}-defaults'
+ scm:
+ - git-scm-gerrit
+ builders:
+ - 'doctor-verify-installer-inspector-builders-macro'
+ publishers:
+ - 'doctor-verify-publishers-macro'
+# -------------------------------
+# builder macros
+# -------------------------------
+
+- builder:
+ name: 'doctor-verify-unit-test-builders-macro'
+ builders:
+ - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
+- builder:
+ name: 'doctor-verify-installer-inspector-builders-macro'
+ builders:
- 'clean-workspace-log'
+ # yamllint disable rule:line-length
- shell: |
# NOTE: Create symbolic link, so that we can archive file outside
# of $WORKSPACE .
@@ -200,14 +279,23 @@
# NOTE: checking the test result, as the previous job could return
# 0 regardless the result of doctor test scenario.
grep -e 'doctor test successfully' $functest_log || exit 1
+ # yamllint enable rule:line-length
+# -------------------------------
+# publisher macros
+# -------------------------------
+- publisher:
+ name: 'doctor-verify-publishers-macro'
publishers:
- archive:
artifacts: 'doctor_tests/*.log'
- archive:
artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log'
- email-jenkins-admins-on-failure
-
+- publisher:
+ name: 'doctor-verify-unit-test-publishers-macro'
+ publishers:
+ - email-jenkins-admins-on-failure
#####################################
# trigger macros