use tox instead of functest for doctor CI jobs
[releng.git] / jjb / doctor / doctor.yaml
1 ---
2 - project:
3     name: doctor
4
5     project: '{name}'
6
7     stream:
8       - master:
9           branch: '{stream}'
10           gs-pathname: ''
11           disabled: false
12       - fraser: &fraser
13           branch: 'stable/{stream}'
14           gs-pathname: '/{stream}'
15           disabled: false
16
17     installer:
18       - 'apex'
19       - 'fuel'
20       - 'daisy'
21
22     arch:
23       - 'x86_64'
24       - 'aarch64'
25
26     inspector:
27       - 'sample'
28       - 'congress'
29
30     exclude:
31       - installer: 'apex'
32         arch: 'aarch64'
33       - installer: 'daisy'
34         arch: 'aarch64'
35       # disabling the following tests due to limitation of PoD owners
36       # these would beenabled again once the PoDs are ready
37       - installer: 'fuel'
38         arch: 'x86_64'
39
40     jobs:
41       - 'doctor-verify-{inspector}-{stream}'
42       - 'doctor-verify-{installer}-{inspector}-{arch}-{stream}'
43
44 - job-template:
45     name: 'doctor-verify-{inspector}-{stream}'
46     disabled: '{obj:disabled}'
47     project-type: 'multijob'
48     parameters:
49       - project-parameter:
50           project: '{project}'
51           branch: '{branch}'
52       - 'doctor-slave-parameter'
53     scm:
54       - git-scm-gerrit
55     triggers:
56       - 'doctor-verify':
57           project: '{project}'
58           branch: '{branch}'
59           files: 'doctor_tests/**'
60
61     builders:
62       - shell: |
63          #!/bin/bash
64          # we do nothing here as the main stuff will be done
65          # in phase jobs
66          echo "Triggering phase jobs!"
67       - multijob:
68           name: 'doctor-verify'
69           execution-type: PARALLEL
70           projects:
71             - name: 'doctor-verify-apex-{inspector}-x86_64-{stream}'
72               predefined-parameters: |
73                 PROJECT=$PROJECT
74                 GERRIT_BRANCH=$GERRIT_BRANCH
75                 GERRIT_REFSPEC=$GERRIT_REFSPEC
76                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
77                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
78               kill-phase-on: FAILURE
79               git-revision: true
80             - name: 'doctor-verify-fuel-{inspector}-x86_64-{stream}'
81               predefined-parameters: |
82                 PROJECT=$PROJECT
83                 GERRIT_BRANCH=$GERRIT_BRANCH
84                 GERRIT_REFSPEC=$GERRIT_REFSPEC
85                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
86                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
87               kill-phase-on: FAILURE
88               git-revision: true
89             - name: 'doctor-verify-fuel-{inspector}-aarch64-{stream}'
90               predefined-parameters: |
91                 GERRIT_BRANCH=$GERRIT_BRANCH
92                 GERRIT_REFSPEC=$GERRIT_REFSPEC
93                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
94                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
95               kill-phase-on: FAILURE
96               git-revision: true
97             - name: 'doctor-verify-daisy-{inspector}-x86_64-{stream}'
98               predefined-parameters: |
99                 PROJECT=$PROJECT
100                 GERRIT_BRANCH=$GERRIT_BRANCH
101                 GERRIT_REFSPEC=$GERRIT_REFSPEC
102                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
103                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
104               kill-phase-on: FAILURE
105               git-revision: true
106
107 - job-template:
108     name: 'doctor-verify-{installer}-{inspector}-{arch}-{stream}'
109     disabled: '{obj:disabled}'
110     node: 'doctor-{installer}-{arch}'
111     wrappers:
112       - ssh-agent-wrapper
113       - build-timeout:
114           timeout: 30
115     parameters:
116       - project-parameter:
117           project: '{project}'
118           branch: '{branch}'
119       - '{installer}-defaults'
120       - 'doctor-slave-parameter'
121     scm:
122       - git-scm-gerrit
123     builders:
124       - doctor-verify-installer-inspector-builders-macro:
125           installer: '{installer}'
126           inspector: '{inspector}'
127     publishers:
128       - 'doctor-verify-publishers-macro'
129
130
131 # -------------------------------
132 # parameter macros
133 # -------------------------------
134
135 # -------------------------------
136 # builder macros
137 # -------------------------------
138
139 - builder:
140     name: 'doctor-verify-installer-inspector-builders-macro'
141     builders:
142       - 'clean-workspace-log'
143       - shell: |
144           export INSTALLER_TYPE={installer}
145           export INSPECTOR_TYPE={inspector}
146           !include-raw:
147               - ./doctor-env-presetup.sh
148               - ../../utils/fetch_os_creds.sh
149           source $HOME/opnfv-openrc.sh
150           source $HOME/os_cacert
151           tox -e py35
152
153 # -------------------------------
154 # publisher macros
155 # -------------------------------
156 - publisher:
157     name: 'doctor-verify-publishers-macro'
158     publishers:
159       - archive:
160           artifacts: 'doctor_tests/*.log'
161       - email-jenkins-admins-on-failure
162
163
164 #####################################
165 # trigger macros
166 #####################################
167 - trigger:
168     name: 'doctor-verify'
169     triggers:
170       - gerrit:
171           server-name: 'gerrit.opnfv.org'
172           trigger-on:
173             - patchset-created-event:
174                 exclude-drafts: 'false'
175                 exclude-trivial-rebase: 'false'
176                 exclude-no-code-change: 'false'
177             - draft-published-event
178             - comment-added-contains-event:
179                 comment-contains-value: 'recheck'
180             - comment-added-contains-event:
181                 comment-contains-value: 'reverify'
182           projects:
183             - project-compare-type: 'ANT'
184               project-pattern: '{project}'
185               branches:
186                 - branch-compare-type: 'ANT'
187                   branch-pattern: '**/{branch}'
188               file-paths:
189                 - compare-type: ANT
190                   pattern: '{files}'
191           skip-vote:
192             successful: true
193             failed: true
194             unstable: true
195             notbuilt: true