b4cc8739a334c124022c8986265ebe8f405a2f4e
[releng.git] / jjb / functest / functest-project-jobs.yaml
1 ---
2 ###################################################
3 # All the jobs except verify have been removed!
4 # They will only be enabled on request by projects!
5 ###################################################
6 - project:
7     name: functest-project-jobs
8
9     project: 'functest'
10
11     jobs:
12       - 'functest-verify-{stream}'
13       - 'functest-verify-{phase}-{stream}'
14       - 'functest-docs-upload-{stream}'
15
16     stream:
17       - master:
18           branch: '{stream}'
19           gs-pathname: ''
20           disabled: false
21       - iruya:
22           branch: 'stable/{stream}'
23           gs-pathname: ''
24           disabled: false
25       - hunter:
26           branch: 'stable/{stream}'
27           gs-pathname: ''
28           disabled: false
29       - gambia:
30           branch: 'stable/{stream}'
31           gs-pathname: ''
32           disabled: false
33
34     phase:
35       - 'unit-tests-and-docs':
36           slave-label: 'opnfv-build-ubuntu'
37       - 'build-x86_64':
38           slave-label: 'opnfv-build-ubuntu'
39       - 'build-aarch64':
40           slave-label: 'opnfv-build-ubuntu-arm'
41
42 - job-template:
43     name: 'functest-verify-{stream}'
44
45     disabled: '{obj:disabled}'
46
47     project-type: 'multijob'
48
49     parameters:
50       - project-parameter:
51           project: '{project}'
52           branch: '{branch}'
53       - 'opnfv-build-ubuntu-defaults'
54
55     scm:
56       - git-scm-gerrit
57
58     triggers:
59       - 'functest-verify-triggers-macro':
60           project: '{project}'
61           branch: '{branch}'
62
63     builders:
64       - shell: |
65           #!/bin/bash
66           # we do nothing here as the main stuff will be done
67           # in phase jobs
68           echo "Triggering phase jobs!"
69       - multijob:
70           name: 'functest-build-and-unittest'
71           execution-type: PARALLEL
72           projects:
73             - name: 'functest-verify-unit-tests-and-docs-{stream}'
74               current-parameters: false
75               predefined-parameters: |
76                 GERRIT_BRANCH=$GERRIT_BRANCH
77                 GERRIT_REFSPEC=$GERRIT_REFSPEC
78                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
79                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
80               git-revision: true
81               node-parameters: false
82               kill-phase-on: FAILURE
83               abort-all-job: false
84
85 - job-template:
86     name: 'functest-verify-{phase}-{stream}'
87
88     disabled: '{obj:disabled}'
89
90     wrappers:
91       - ssh-agent-wrapper
92       - build-timeout:
93           timeout: 60
94
95     parameters:
96       - project-parameter:
97           project: '{project}'
98           branch: '{branch}'
99       - '{slave-label}-defaults'
100
101     scm:
102       - git-scm-gerrit
103
104     builders:
105       - 'functest-verify-{phase}-builders-macro'
106
107     publishers:
108       - 'functest-verify-{phase}-publishers-macro'
109
110 - job-template:
111     name: 'functest-docs-upload-{stream}'
112
113     disabled: '{obj:disabled}'
114
115     parameters:
116       - project-parameter:
117           project: '{project}'
118           branch: '{branch}'
119       - 'opnfv-build-ubuntu-defaults'
120
121     scm:
122       - git-scm
123
124     triggers:
125       - 'functest-docs-upload-triggers-macro':
126           project: '{project}'
127           branch: '{branch}'
128
129     builders:
130       - functest-upload-doc-artifact
131
132 ################################
133 # job triggers
134 ################################
135 - trigger:
136     name: 'functest-verify-triggers-macro'
137     triggers:
138       - gerrit:
139           server-name: 'gerrit.opnfv.org'
140           trigger-on:
141             - patchset-created-event:
142                 exclude-drafts: 'false'
143                 exclude-trivial-rebase: 'false'
144                 exclude-no-code-change: 'false'
145             - draft-published-event
146             - comment-added-contains-event:
147                 comment-contains-value: 'recheck'
148             - comment-added-contains-event:
149                 comment-contains-value: 'reverify'
150           projects:
151             - project-compare-type: 'ANT'
152               project-pattern: '{project}'
153               branches:
154                 - branch-compare-type: 'ANT'
155                   branch-pattern: '**/{branch}'
156               disable-strict-forbidden-file-verification: 'true'
157               forbidden-file-paths:
158                 - compare-type: ANT
159                   pattern: 'docs/**|.gitignore'
160
161 - trigger:
162     name: 'functest-docs-upload-triggers-macro'
163     triggers:
164       - gerrit:
165           server-name: 'gerrit.opnfv.org'
166           trigger-on:
167             - change-merged-event
168             - comment-added-contains-event:
169                 comment-contains-value: 'remerge'
170           projects:
171             - project-compare-type: 'ANT'
172               project-pattern: '{project}'
173               branches:
174                 - branch-compare-type: 'ANT'
175                   branch-pattern: '**/{branch}'
176               disable-strict-forbidden-file-verification: 'true'
177               forbidden-file-paths:
178                 - compare-type: ANT
179                   pattern: 'docs/**|.gitignore'
180 ################################
181 # job builders
182 ################################
183
184 - builder:
185     name: 'functest-verify-unit-tests-and-docs-builders-macro'
186     builders:
187       - shell: |
188           cd $WORKSPACE && tox
189
190 - builder:
191     name: 'functest-verify-build-x86_64-builders-macro'
192     builders:
193       - shell: |
194           echo "Not activated!"
195
196 - builder:
197     name: 'functest-verify-build-aarch64-builders-macro'
198     builders:
199       - shell: |
200           echo "Not activated!"
201
202 - builder:
203     name: 'functest-upload-doc-artifact'
204     builders:
205       - shell: |
206           cd $WORKSPACE && tox -edocs
207             wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/build" "docs"
208 ################################
209 # job publishers
210 ################################
211 - publisher:
212     name: 'functest-verify-unit-tests-and-docs-publishers-macro'
213     publishers:
214       - junit:
215           results: nosetests.xml
216       - cobertura:
217           report-file: "coverage.xml"
218           only-stable: "true"
219           health-auto-update: "true"
220           stability-auto-update: "true"
221           zoom-coverage-chart: "true"
222           targets:
223             - files:
224                 healthy: 10
225                 unhealthy: 20
226                 failing: 30
227             - method:
228                 healthy: 50
229                 unhealthy: 40
230                 failing: 30
231       - email-jenkins-admins-on-failure
232
233 - publisher:
234     name: 'functest-verify-build-x86_64-publishers-macro'
235     publishers:
236       - email-jenkins-admins-on-failure
237
238 - publisher:
239     name: 'functest-verify-build-aarch64-publishers-macro'
240     publishers:
241       - email-jenkins-admins-on-failure