ace2e0265f184013a92e6aedadd7dce60b095864
[releng.git] / jjb / yardstick / yardstick-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: yardstick-project-jobs
8
9     project: 'yardstick'
10
11     jobs:
12       - 'yardstick-verify-{stream}'
13       - 'yardstick-merge-{stream}'
14
15     stream:
16       - master:
17           branch: '{stream}'
18           gs-pathname: ''
19           disabled: false
20       - gambia: &gambia
21           branch: 'stable/{stream}'
22           gs-pathname: '/{stream}'
23           disabled: false
24       - fraser:
25           branch: 'stable/{stream}'
26           gs-pathname: '/{stream}'
27           disabled: false
28
29 ################################
30 # job templates
31 ################################
32
33 - job-template:
34     name: 'yardstick-verify-{stream}'
35
36     disabled: '{obj:disabled}'
37
38     parameters:
39       - project-parameter:
40           project: '{project}'
41           branch: '{branch}'
42       - 'ericsson-build4-defaults'
43
44     scm:
45       - git-scm-gerrit
46
47     triggers:
48       - gerrit:
49           server-name: 'gerrit.opnfv.org'
50           trigger-on:
51             - patchset-created-event:
52                 exclude-drafts: 'false'
53                 exclude-trivial-rebase: 'false'
54                 exclude-no-code-change: 'false'
55             - draft-published-event
56             - comment-added-contains-event:
57                 comment-contains-value: 'recheck'
58             - comment-added-contains-event:
59                 comment-contains-value: 'reverify'
60           projects:
61             - project-compare-type: 'ANT'
62               project-pattern: '{project}'
63               branches:
64                 - branch-compare-type: 'ANT'
65                   branch-pattern: '**/{branch}'
66
67     wrappers:
68       - ssh-agent-wrapper
69       - timeout:
70           timeout: 30
71           fail: true
72
73     builders:
74       - yardstick-unit-tests-python-27
75       - yardstick-unit-tests-python-3
76       - yardstick-functional-tests-python-27
77       - yardstick-functional-tests-python-3
78       - yardstick-coverage-tests
79       - yardstick-pep8-tests
80
81 - job-template:
82     name: 'yardstick-merge-{stream}'
83
84     disabled: '{obj:disabled}'
85
86     parameters:
87       - project-parameter:
88           project: '{project}'
89           branch: '{branch}'
90       - 'ericsson-build4-defaults'
91       - string:
92           name: GS_URL
93           default: '$GS_BASE{gs-pathname}'
94           description: "Directory where the build artifact will be located upon\
95             \ the completion of the build."
96
97     scm:
98       - git-scm
99
100     triggers:
101       - gerrit:
102           server-name: 'gerrit.opnfv.org'
103           trigger-on:
104             - change-merged-event
105             - comment-added-contains-event:
106                 comment-contains-value: 'remerge'
107           projects:
108             - project-compare-type: 'ANT'
109               project-pattern: '{project}'
110               branches:
111                 - branch-compare-type: 'ANT'
112                   branch-pattern: '**/{branch}'
113
114     wrappers:
115       - ssh-agent-wrapper
116       - timeout:
117           timeout: 30
118           fail: true
119
120     builders:
121       - yardstick-unit-tests-python-27
122       - yardstick-unit-tests-python-3
123       - yardstick-functional-tests-python-27
124       - yardstick-functional-tests-python-3
125       - yardstick-coverage-tests
126       - yardstick-pep8-tests
127
128 ################################
129 # job builders
130 ################################
131
132 - builder:
133     name: yardstick-unit-tests-python-27
134     builders:
135       - shell: |
136           #!/bin/bash
137           set -o errexit
138           set -o pipefail
139
140           sudo apt-get -y autoremove
141           sudo apt-get install -y build-essential python-dev python3-dev
142           sudo apt-get -y clean && sudo apt-get -y autoremove
143
144           echo "Running unit tests in Python 2.7 ..."
145           cd $WORKSPACE
146           tox -epy27
147
148 - builder:
149     name: yardstick-unit-tests-python-3
150     builders:
151       - shell: |
152           #!/bin/bash
153           set -o errexit
154           set -o pipefail
155
156           sudo apt-get -y autoremove
157           sudo apt-get install -y build-essential python-dev python3-dev
158           sudo apt-get -y clean && sudo apt-get -y autoremove
159
160           echo "Running unit tests in Python 3 ..."
161           cd $WORKSPACE
162           tox -epy3
163
164 - builder:
165     name: yardstick-functional-tests-python-27
166     builders:
167       - shell: |
168           #!/bin/bash
169           set -o errexit
170           set -o pipefail
171
172           sudo apt-get -y autoremove
173           sudo apt-get install -y build-essential python-dev python3-dev rabbitmq-server
174           sudo apt-get -y clean && sudo apt-get -y autoremove
175
176           echo "Configure RabbitMQ service"
177           sudo service rabbitmq-server restart
178           sudo rabbitmqctl start_app
179           if [ -z "$(sudo rabbitmqctl list_users | grep yardstick)" ]; then
180             sudo rabbitmqctl add_user yardstick yardstick
181             sudo rabbitmqctl set_permissions yardstick ".*" ".*" ".*"
182           fi
183
184           echo "Running functional tests in Python 2.7 ..."
185           cd $WORKSPACE
186           tox -efunctional
187
188 - builder:
189     name: yardstick-functional-tests-python-3
190     builders:
191       - shell: |
192           #!/bin/bash
193           set -o errexit
194           set -o pipefail
195
196           sudo apt-get -y autoremove
197           sudo apt-get install -y build-essential python-dev python3-dev rabbitmq-server
198           sudo apt-get -y clean && sudo apt-get -y autoremove
199
200           echo "Configure RabbitMQ service"
201           sudo service rabbitmq-server restart
202           sudo rabbitmqctl start_app
203           if [ -z "$(sudo rabbitmqctl list_users | grep yardstick)" ]; then
204             sudo rabbitmqctl add_user yardstick yardstick
205             sudo rabbitmqctl set_permissions yardstick ".*" ".*" ".*"
206           fi
207
208           echo "Running functional tests in Python 3 ..."
209           cd $WORKSPACE
210           tox -efunctional-py3
211
212 - builder:
213     name: yardstick-coverage-tests
214     builders:
215       - shell: |
216           #!/bin/bash
217           set -o errexit
218           set -o pipefail
219
220           sudo apt-get -y autoremove
221           sudo apt-get install -y build-essential python-dev python3-dev
222           sudo apt-get -y clean && sudo apt-get -y autoremove
223
224           echo "Running coverage tests ..."
225           cd $WORKSPACE
226           tox -ecoverage
227
228 - builder:
229     name: yardstick-pep8-tests
230     builders:
231       - shell: |
232           #!/bin/bash
233           set -o errexit
234           set -o pipefail
235
236           sudo apt-get -y autoremove
237           sudo apt-get install -y build-essential python-dev python3-dev
238           sudo apt-get -y clean && sudo apt-get -y autoremove
239
240           echo "Running style guidelines (PEP8) tests ..."
241           cd $WORKSPACE
242           tox -epep8