Merge "JIRA: VSPERF-29 - Add build elements for Jenkins"
[releng.git] / jjb / vswitchperf / vswitchperf.yml
1 - project:
2     name: vswitchperf
3     jobs:
4         - 'vswitchperf-test'
5         - 'vswitchperf-daily-master'
6         - 'vswitchperf-merge'
7         - 'vswitchperf-verify'
8
9     # stream:    branch with - in place of / (eg. stable-helium)
10     # branch:    branch (eg. stable/helium)
11     stream:
12         - master:
13             branch: 'master'
14
15     project: 'vswitchperf'
16     somevar: 'foo'
17
18 - job-template:
19     name: vswitchperf-test
20
21     project-type: freestyle
22
23     logrotate:
24         daysToKeep: 30
25         numToKeep: 10
26         artifactDaysToKeep: -1
27         artifactNumToKeep: -1
28
29     builders:
30         - shell: |
31             echo "Hello world from vswitchperf"
32
33 - job-template:
34     name: 'vswitchperf-daily-master'
35
36     # Job template for daily builders
37     #
38     # Required Variables:
39     #     stream:    branch with - in place of / (eg. stable)
40     #     branch:    branch (eg. stable)
41
42     project-type: freestyle
43     varsetabove: '{somevar}'
44
45     logrotate:
46         daysToKeep: '{build-days-to-keep}'
47         numToKeep: '{build-num-to-keep}'
48         artifactDaysToKeep: '{build-artifact-days-to-keep}'
49         artifactNumToKeep: '{build-artifact-num-to-keep}'
50
51     parameters:
52         - project-parameter:
53             project: '{project}'
54
55     scm:
56         - git-scm:
57             credentials-id: '{ssh-credentials}'
58             refspec: ''
59             branch: '{branch}'
60
61     wrappers:
62         - ssh-agent-credentials:
63             user: '{ssh-credentials}'
64
65     triggers:
66         - timed: 'H H * * *'
67
68     prebuilders:
69         - test-macro
70
71     builders:
72         - shell: |
73             pwd
74             cd src
75             make
76             # run basic sanity test
77             make sanity
78
79     postbuilders:
80         - test-macro
81
82 - job-template:
83     name: 'vswitchperf-verify'
84
85     project-type: freestyle
86
87     logrotate:
88         daysToKeep: 30
89         numToKeep: 10
90         artifactDaysToKeep: -1
91         artifactNumToKeep: -1
92
93     parameters:
94         - project-parameter:
95             project: '{project}'
96         - gerrit-parameter:
97             branch: 'master'
98     scm:
99         - gerrit-trigger-scm:
100             credentials-id: '{ssh-credentials}'
101             refspec: '$GERRIT_REFSPEC'
102             choosing-strategy: 'gerrit'
103
104     wrappers:
105         - ssh-agent-credentials:
106             user: '{ssh-credentials}'
107
108     triggers:
109         - gerrit:
110             trigger-on:
111                 - patchset-created-event:
112                     exclude-drafts: 'false'
113                     exclude-trivial-rebase: 'false'
114                     exclude-no-code-change: 'false'
115                 - draft-published-event
116                 - comment-added-contains-event:
117                     comment-contains-value: 'recheck'
118                 - comment-added-contains-event:
119                     comment-contains-value: 'reverify'
120             projects:
121               - project-compare-type: 'ANT'
122                 project-pattern: 'vswitchperf'
123                 branches:
124                   - branch-compare-type: 'ANT'
125                     branch-pattern: '**/master'
126
127     builders:
128         - shell: |
129             pwd
130             cd src
131             make
132             # run basic sanity test
133             make sanity
134
135 - job-template:
136     name: 'vswitchperf-merge'
137
138     # builder-merge job to run JJB update
139     #
140     # This job's purpose is to update all the JJB
141
142     project-type: freestyle
143
144     logrotate:
145         daysToKeep: 30
146         numToKeep: 40
147         artifactDaysToKeep: -1
148         artifactNumToKeep: 5
149
150     parameters:
151         - project-parameter:
152             project: '{project}'
153         - gerrit-parameter:
154             branch: 'master'
155
156     scm:
157         - gerrit-trigger-scm:
158             credentials-id: '{ssh-credentials}'
159             refspec: ''
160             choosing-strategy: 'default'
161
162     wrappers:
163         - ssh-agent-credentials:
164             user: '{ssh-credentials}'
165
166     triggers:
167         - gerrit:
168             trigger-on:
169                 - change-merged-event
170                 - comment-added-contains-event:
171                     comment-contains-value: 'remerge'
172             projects:
173               - project-compare-type: 'ANT'
174                 project-pattern: 'vswitchperf'
175                 branches:
176                     - branch-compare-type: 'ANT'
177                       branch-pattern: '**/master'
178
179     builders:
180         - shell: |
181             pwd
182             cd src
183             make