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