vswitchperf: Throttle verify and merge jobs
[releng.git] / jjb / vswitchperf / vswitchperf.yml
1 - project:
2
3     name: vswitchperf
4
5     project: '{name}'
6
7     jobs:
8         - 'vswitchperf-verify-{stream}'
9         - 'vswitchperf-merge-{stream}'
10         - 'vswitchperf-daily-{stream}'
11
12     stream:
13         - master:
14             branch: '{stream}'
15             gs-pathname: ''
16             disabled: false
17             slave-label: 'opnfv-build-ubuntu'
18         - colorado:
19             branch: 'stable/{stream}'
20             gs-pathname: '/{stream}'
21             disabled: false
22             slave-label: 'intel-pod3'
23
24 - job-template:
25
26     name: 'vswitchperf-daily-{stream}'
27
28     disabled: '{obj:disabled}'
29
30     parameters:
31         - project-parameter:
32             project: '{project}'
33         - 'intel-pod3-defaults'
34
35     scm:
36         - git-scm:
37             credentials-id: '{ssh-credentials}'
38             refspec: ''
39             branch: '{branch}'
40
41     triggers:
42         - pollscm:
43             cron: '@midnight'
44
45     builders:
46         - shell: |
47             pwd
48             cd src
49             make clobber
50             make
51             # run basic sanity test
52             make sanity
53             cd ../ci
54             scl enable python33 "source ~/vsperfenv/bin/activate ; ./build-vsperf.sh daily"
55
56 - job-template:
57     name: 'vswitchperf-verify-{stream}'
58
59     disabled: '{obj:disabled}'
60
61     project-type: freestyle
62
63     concurrent: true
64
65     properties:
66         - build-blocker:
67             use-build-blocker: true
68             blocking-jobs:
69                 - 'vswitchperf-verify-.*'
70                 - 'vswitchperf-merge-.*'
71             block-level: 'NODE'
72
73     parameters:
74         - project-parameter:
75             project: '{project}'
76         - gerrit-parameter:
77             branch: '{branch}'
78         - '{slave-label}-defaults'
79
80     scm:
81         - gerrit-trigger-scm:
82             credentials-id: '{ssh-credentials}'
83             refspec: '$GERRIT_REFSPEC'
84             choosing-strategy: 'gerrit'
85
86     triggers:
87         - gerrit:
88             trigger-on:
89                 - patchset-created-event:
90                     exclude-drafts: 'false'
91                     exclude-trivial-rebase: 'false'
92                     exclude-no-code-change: 'false'
93                 - draft-published-event
94                 - comment-added-contains-event:
95                     comment-contains-value: 'recheck'
96                 - comment-added-contains-event:
97                     comment-contains-value: 'reverify'
98             projects:
99               - project-compare-type: 'ANT'
100                 project-pattern: '{project}'
101                 branches:
102                   - branch-compare-type: 'ANT'
103                     branch-pattern: '**/{branch}'
104                 forbidden-file-paths:
105                   - compare-type: ANT
106                     pattern: 'docs/**'
107
108     builders:
109         - shell: |
110             pwd
111             cd src
112             make clobber
113             make
114             # run basic sanity test
115             make sanity
116             cd ../ci
117             ./build-vsperf.sh verify
118
119 - job-template:
120     name: 'vswitchperf-merge-{stream}'
121
122     disabled: '{obj:disabled}'
123
124     project-type: freestyle
125
126     concurrent: true
127
128     properties:
129         - build-blocker:
130             use-build-blocker: true
131             blocking-jobs:
132                 - 'vswitchperf-verify-.*'
133                 - 'vswitchperf-merge-.*'
134             block-level: 'NODE'
135
136     parameters:
137         - project-parameter:
138             project: '{project}'
139         - gerrit-parameter:
140             branch: '{branch}'
141         - '{slave-label}-defaults'
142
143     scm:
144         - gerrit-trigger-scm:
145             credentials-id: '{ssh-credentials}'
146             refspec: ''
147             choosing-strategy: 'default'
148
149     triggers:
150         - gerrit:
151             trigger-on:
152                 - change-merged-event
153                 - comment-added-contains-event:
154                     comment-contains-value: 'remerge'
155             projects:
156               - project-compare-type: 'ANT'
157                 project-pattern: '{project}'
158                 branches:
159                     - branch-compare-type: 'ANT'
160                       branch-pattern: '**/{branch}'
161                 forbidden-file-paths:
162                   - compare-type: ANT
163                     pattern: 'docs/**'
164
165     builders:
166         - shell: |
167             pwd
168             cd src
169             make clobber
170             make
171             cd ../ci
172             ./build-vsperf.sh merge