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