5fcb27042378ee8ba7ecb307421f78af5cdfe41d
[releng.git] / jjb / kvmfornfv / kvmfornfv.yml
1 - project:
2     name: kvmfornfv
3
4     project: '{name}'
5
6     stream:
7         - master:
8             branch: '{stream}'
9             gs-pathname: ''
10             disabled: false
11         - brahmaputra:
12             branch: 'stable/{stream}'
13             gs-pathname: '/{stream}'
14             disabled: true
15 #####################################
16 # patch verification phases
17 #####################################
18     phase:
19         - 'build':
20             slave-label: 'opnfv-build-ubuntu'
21         - 'test':
22             slave-label: 'intel-pod1'
23 #####################################
24 # patch verification phases
25 #####################################
26     jobs:
27         - 'kvmfornfv-verify-{stream}'
28         - 'kvmfornfv-verify-{phase}-{stream}'
29         - 'kvmfornfv-merge-{stream}'
30         - 'kvmfornfv-daily-{stream}'
31 #####################################
32 # job templates
33 #####################################
34 - job-template:
35     name: 'kvmfornfv-verify-{stream}'
36
37     project-type: multijob
38
39     disabled: '{obj:disabled}'
40
41     concurrent: true
42
43     properties:
44         - throttle:
45             enabled: true
46             max-total: 3
47             option: 'project'
48
49     parameters:
50         - project-parameter:
51             project: '{project}'
52         - gerrit-parameter:
53             branch: '{branch}'
54         - 'opnfv-build-ubuntu-defaults'
55
56     triggers:
57         - gerrit:
58             trigger-on:
59                 - patchset-created-event:
60                     exclude-drafts: 'false'
61                     exclude-trivial-rebase: 'false'
62                     exclude-no-code-change: 'false'
63                 - draft-published-event
64                 - comment-added-contains-event:
65                     comment-contains-value: 'recheck'
66                 - comment-added-contains-event:
67                     comment-contains-value: 'reverify'
68             projects:
69               - project-compare-type: 'ANT'
70                 project-pattern: '{project}'
71                 branches:
72                   - branch-compare-type: 'ANT'
73                     branch-pattern: '**/{branch}'
74
75     builders:
76         - description-setter:
77             description: "Built on $NODE_NAME"
78         - multijob:
79             name: build
80             condition: SUCCESSFUL
81             projects:
82                 - name: 'kvmfornfv-verify-build-{stream}'
83                   current-parameters: false
84                   predefined-parameters: |
85                     GERRIT_BRANCH=$GERRIT_BRANCH
86                     GERRIT_REFSPEC=$GERRIT_REFSPEC
87                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
88                   node-parameters: false
89                   kill-phase-on: FAILURE
90                   abort-all-job: true
91         - multijob:
92             name: test
93             condition: SUCCESSFUL
94             projects:
95                 - name: 'kvmfornfv-verify-test-{stream}'
96                   current-parameters: false
97                   predefined-parameters: |
98                     GERRIT_BRANCH=$GERRIT_BRANCH
99                     GERRIT_REFSPEC=$GERRIT_REFSPEC
100                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
101                   node-parameters: false
102                   kill-phase-on: FAILURE
103                   abort-all-job: true
104
105 - job-template:
106     name: 'kvmfornfv-verify-{phase}-{stream}'
107
108     disabled: '{obj:disabled}'
109
110     concurrent: true
111
112     scm:
113         - gerrit-trigger-scm:
114             credentials-id: '{ssh-credentials}'
115             refspec: '$GERRIT_REFSPEC'
116             choosing-strategy: 'gerrit'
117
118     wrappers:
119         - ssh-agent-credentials:
120             users:
121                 - '{ssh-credentials}'
122         - timeout:
123             timeout: 360
124             fail: true
125     parameters:
126         - project-parameter:
127             project: '{project}'
128         - gerrit-parameter:
129             branch: '{branch}'
130         - '{slave-label}-defaults'
131         - 'kvmfornfv-defaults':
132             gs-pathname: '{gs-pathname}'
133
134     builders:
135         - description-setter:
136             description: "Built on $NODE_NAME"
137         - '{project}-verify-{phase}-macro'
138
139 - job-template:
140     name: 'kvmfornfv-merge-{stream}'
141
142     parameters:
143         - project-parameter:
144             project: '{project}'
145         - gerrit-parameter:
146             branch: '{branch}'
147         - 'opnfv-build-ubuntu-defaults'
148         - 'kvmfornfv-defaults':
149             gs-pathname: '{gs-pathname}'
150
151     scm:
152         - gerrit-trigger-scm:
153             credentials-id: '{ssh-credentials}'
154             refspec: ''
155             choosing-strategy: 'default'
156
157     triggers:
158         - gerrit:
159             trigger-on:
160                 - change-merged-event
161                 - comment-added-contains-event:
162                     comment-contains-value: 'remerge'
163             projects:
164               - project-compare-type: 'ANT'
165                 project-pattern: '{project}'
166                 branches:
167                     - branch-compare-type: 'ANT'
168                       branch-pattern: '**/{branch}'
169
170     builders:
171         - shell:
172             !include-raw: ./kvmfornfv-build.sh
173
174 - job-template:
175     name: 'kvmfornfv-daily-{stream}'
176
177     project-type: multijob
178
179     disabled: '{obj:disabled}'
180
181     concurrent: false
182
183     parameters:
184         - project-parameter:
185             project: '{project}'
186         - gerrit-parameter:
187             branch: '{branch}'
188         - 'opnfv-build-ubuntu-defaults'
189         - 'kvmfornfv-defaults':
190             gs-pathname: '{gs-pathname}'
191
192     scm:
193         - gerrit-trigger-scm:
194             credentials-id: '{ssh-credentials}'
195             refspec: ''
196             choosing-strategy: 'default'
197
198     triggers:
199          - timed: '@midnight'
200
201     builders:
202         - shell:
203             !include-raw-escape: ./kvmfornfv-build.sh
204         - shell:
205             !include-raw-escape: ./kvmfornfv-upload-artifact.sh
206 #####################################
207 # builder macros
208 #####################################
209 - builder:
210     name: 'kvmfornfv-verify-build-macro'
211     builders:
212         - shell:
213             !include-raw: ./kvmfornfv-build.sh
214         - shell:
215             !include-raw: ./kvmfornfv-upload-artifact.sh
216 - builder:
217     name: 'kvmfornfv-verify-test-macro'
218     builders:
219         - shell:
220             !include-raw: ./kvmfornfv-download-artifact.sh
221         - shell:
222             !include-raw: ./kvmfornfv-test.sh
223 #####################################
224 # parameter macros
225 #####################################
226 - parameter:
227     name: 'kvmfornfv-defaults'
228     parameters:
229         - string:
230             name: GS_URL
231             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
232             description: "URL to Google Storage."