multiarch: Add functest x86_64, aarch64 verify jobs
[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         - danube:
21             branch: 'stable/{stream}'
22             gs-pathname: '/{stream}'
23             disabled: true
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     parameters:
39         - project-parameter:
40             project: '{project}'
41             branch: '{branch}'
42         - 'opnfv-build-defaults'
43
44     scm:
45         - git-scm-gerrit
46
47     triggers:
48         - 'functest-verify-triggers-macro'
49
50     builders:
51         - shell: |
52             #!/bin/bash
53             # we do nothing here as the main stuff will be done
54             # in phase jobs
55             echo "Triggering phase jobs!"
56         - multijob:
57             name: 'functest-build-and-unittest'
58             execution-type: PARALLEL
59             projects:
60                 - name: 'functest-verify-unit-tests-and-docs-{stream}'
61                   current-parameters: false
62                   predefined-parameters: |
63                     GERRIT_BRANCH=$GERRIT_BRANCH
64                     GERRIT_REFSPEC=$GERRIT_REFSPEC
65                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
66                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
67                   git-revision: true
68                   node-parameters: false
69                   kill-phase-on: FAILURE
70                   abort-all-job: false
71                 - name: 'functest-verify-build-x86_64-{stream}'
72                   current-parameters: false
73                   predefined-parameters: |
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                     ARCH=x86_64
79                   git-revision: true
80                   node-parameters: false
81                   kill-phase-on: FAILURE
82                   abort-all-job: false
83                 - name: 'functest-verify-build-aarch64-{stream}'
84                   current-parameters: false
85                   predefined-parameters: |
86                     GERRIT_BRANCH=$GERRIT_BRANCH
87                     GERRIT_REFSPEC=$GERRIT_REFSPEC
88                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
89                     GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
90                     ARCH=aarch64
91                   git-revision: true
92                   node-parameters: false
93                   kill-phase-on: FAILURE
94                   abort-all-job: false
95
96 - job-template:
97     name: 'functest-verify-{phase}-{stream}'
98
99     disabled: '{obj:disabled}'
100
101     parameters:
102         - project-parameter:
103             project: '{project}'
104             branch: '{branch}'
105         - '{slave-label}-defaults'
106
107     scm:
108         - git-scm-gerrit
109
110     builders:
111         - 'functest-verify-{phase}-builders-macro'
112
113     publishers:
114         - 'functest-verify-{phase}-publishers-macro'
115
116 - job-template:
117     name: 'functest-docs-upload-{stream}'
118
119     disabled: '{obj:disabled}'
120
121     parameters:
122         - project-parameter:
123             project: '{project}'
124             branch: '{branch}'
125         - 'opnfv-build-ubuntu-defaults'
126
127     scm:
128         - git-scm
129
130     triggers:
131         - 'functest-docs-upload-triggers-macro'
132
133     builders:
134         - functest-upload-doc-artifact
135
136 ################################
137 # job triggers
138 ################################
139 - trigger:
140     name: 'functest-verify-triggers-macro'
141     triggers:
142         - gerrit:
143             server-name: 'gerrit.opnfv.org'
144             trigger-on:
145                 - patchset-created-event:
146                     exclude-drafts: 'false'
147                     exclude-trivial-rebase: 'false'
148                     exclude-no-code-change: 'false'
149                 - draft-published-event
150                 - comment-added-contains-event:
151                     comment-contains-value: 'recheck'
152                 - comment-added-contains-event:
153                     comment-contains-value: 'reverify'
154             projects:
155               - project-compare-type: 'ANT'
156                 project-pattern: '{project}'
157                 branches:
158                   - branch-compare-type: 'ANT'
159                     branch-pattern: '**/{branch}'
160                 disable-strict-forbidden-file-verification: 'true'
161                 forbidden-file-paths:
162                   - compare-type: ANT
163                     pattern: 'docs/**|.gitignore'
164 - trigger:
165     name: 'functest-docs-upload-triggers-macro'
166     triggers:
167         - gerrit:
168             server-name: 'gerrit.opnfv.org'
169             trigger-on:
170                 - change-merged-event
171                 - comment-added-contains-event:
172                     comment-contains-value: 'remerge'
173             projects:
174               - project-compare-type: 'ANT'
175                 project-pattern: '{project}'
176                 branches:
177                   - branch-compare-type: 'ANT'
178                     branch-pattern: '**/{branch}'
179                 disable-strict-forbidden-file-verification: 'true'
180                 forbidden-file-paths:
181                   - compare-type: ANT
182                     pattern: 'docs/**|.gitignore'
183 ################################
184 # job builders
185 ################################
186
187 - builder:
188     name: 'functest-verify-unit-tests-and-docs-builders-macro'
189     builders:
190         - shell: |
191             cd $WORKSPACE && tox
192 - builder:
193     name: 'functest-verify-build-x86_64-builders-macro'
194     builders:
195         - shell: |
196             echo "Not activated!"
197 - builder:
198     name: 'functest-verify-build-aarch64-builders-macro'
199     builders:
200         - shell: |
201             echo "Not activated!"
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 - publisher:
233     name: 'functest-verify-build-x86_64-publishers-macro'
234     publishers:
235         - email-jenkins-admins-on-failure
236 - publisher:
237     name: 'functest-verify-build-aarch64-publishers-macro'
238     publishers:
239         - email-jenkins-admins-on-failure