4af25fd64b9707af4e2cf4e3dac9b22b59058a20
[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 #####################################
17 # patch verification phases
18 #####################################
19     phase:
20         - 'build':
21             slave-label: 'opnfv-build-ubuntu'
22         - 'test':
23             slave-label: 'intel-pod1'
24 #####################################
25 # patch verification phases
26 #####################################
27     jobs:
28         - 'kvmfornfv-verify-{stream}'
29         - 'kvmfornfv-verify-{phase}-{stream}'
30         - 'kvmfornfv-merge-{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     scm:
57         - gerrit-trigger-scm:
58             credentials-id: '{ssh-credentials}'
59             refspec: '$GERRIT_REFSPEC'
60             choosing-strategy: 'gerrit'
61
62     triggers:
63         - gerrit:
64             trigger-on:
65                 - patchset-created-event:
66                     exclude-drafts: 'false'
67                     exclude-trivial-rebase: 'false'
68                     exclude-no-code-change: 'false'
69                 - draft-published-event
70                 - comment-added-contains-event:
71                     comment-contains-value: 'recheck'
72                 - comment-added-contains-event:
73                     comment-contains-value: 'reverify'
74             projects:
75               - project-compare-type: 'ANT'
76                 project-pattern: '{project}'
77                 branches:
78                   - branch-compare-type: 'ANT'
79                     branch-pattern: '**/{branch}'
80
81     builders:
82         - description-setter:
83             description: "Built on $NODE_NAME"
84         - multijob:
85             name: build
86             condition: SUCCESSFUL
87             projects:
88                 - name: 'kvmfornfv-verify-build-{stream}'
89                   current-parameters: false
90                   predefined-parameters: |
91                     GERRIT_BRANCH=$GERRIT_BRANCH
92                     GERRIT_REFSPEC=$GERRIT_REFSPEC
93                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
94                   node-parameters: false
95                   kill-phase-on: FAILURE
96                   abort-all-job: true
97         - multijob:
98             name: test
99             condition: SUCCESSFUL
100             projects:
101                 - name: 'kvmfornfv-verify-test-{stream}'
102                   current-parameters: false
103                   predefined-parameters: |
104                     GERRIT_BRANCH=$GERRIT_BRANCH
105                     GERRIT_REFSPEC=$GERRIT_REFSPEC
106                     GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
107                   node-parameters: false
108                   kill-phase-on: FAILURE
109                   abort-all-job: true
110
111 - job-template:
112     name: 'kvmfornfv-verify-{phase}-{stream}'
113
114     disabled: '{obj:disabled}'
115
116     concurrent: true
117
118     scm:
119         - gerrit-trigger-scm:
120             credentials-id: '{ssh-credentials}'
121             refspec: '$GERRIT_REFSPEC'
122             choosing-strategy: 'gerrit'
123
124     wrappers:
125         - ssh-agent-credentials:
126             users:
127                 - '{ssh-credentials}'
128         - timeout:
129             timeout: 360
130             fail: true
131     parameters:
132         - project-parameter:
133             project: '{project}'
134         - gerrit-parameter:
135             branch: '{branch}'
136         - '{slave-label}-defaults'
137
138     builders:
139         - description-setter:
140             description: "Built on $NODE_NAME"
141         - '{project}-verify-{phase}-macro'
142
143 - job-template:
144     name: 'kvmfornfv-merge-{stream}'
145
146     parameters:
147         - project-parameter:
148             project: '{project}'
149         - gerrit-parameter:
150             branch: '{branch}'
151         - 'opnfv-build-ubuntu-defaults'
152         - 'kvmfornfv-defaults':
153             gs-pathname: '{gs-pathname}'
154
155     scm:
156         - gerrit-trigger-scm:
157             credentials-id: '{ssh-credentials}'
158             refspec: ''
159             choosing-strategy: 'default'
160
161     triggers:
162         - gerrit:
163             trigger-on:
164                 - change-merged-event
165                 - comment-added-contains-event:
166                     comment-contains-value: 'remerge'
167             projects:
168               - project-compare-type: 'ANT'
169                 project-pattern: '{project}'
170                 branches:
171                     - branch-compare-type: 'ANT'
172                       branch-pattern: '**/{branch}'
173
174     builders:
175         - shell:
176             !include-raw: ./kvmfornfv-build.sh
177 #####################################
178 # builder macros
179 #####################################
180 - builder:
181     name: 'kvmfornfv-verify-build-macro'
182     builders:
183         - shell:
184             !include-raw: ./kvmfornfv-build.sh
185         - shell:
186             !include-raw: ./kvmfornfv-upload-artifact.sh
187 - builder:
188     name: 'kvmfornfv-verify-test-macro'
189     builders:
190         - shell:
191             !include-raw: ./kvmfornfv-download-artifact.sh
192         - shell:
193             !include-raw: ./kvmfornfv-test.sh
194 #####################################
195 # parameter macros
196 #####################################
197 - parameter:
198     name: 'kvmfornfv-defaults'
199     parameters:
200         - string:
201             name: GS_URL
202             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
203             description: "URL to Google Storage."