Merge "Change installer/binary jobs from merge to verify"
[ci-management.git] / jjb / akraino-templates / akraino-jjb-kni.yaml
1 ---
2 #
3 # Copyright (c) 2019 Red Hat. All rights reserved.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may
6 # not use this file except in compliance with the License.
7 #
8 # You may obtain a copy of the License at
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17 - job-template:
18     id: kni-installer-verify-installer
19     name: '{project-name}-verify-installer'
20
21     ######################
22     # Default parameters #
23     ######################
24
25     build-node: centos7-builder-2c-1g
26     build-days-to-keep: 30
27     build-timeout: 60
28     submodule-recursive: true
29
30     #####################
31     # Job Configuration #
32     #####################
33
34     project-type: freestyle
35     node: '{build-node}'
36
37     properties:
38       - lf-infra-properties:
39           build-days-to-keep: '{build-days-to-keep}'
40
41     parameters:
42       - lf-infra-parameters:
43           project: '{project}'
44           branch: '{branch}'
45           stream: '{stream}'
46           lftools-version: '{lftools-version}'
47
48     wrappers:
49       - lf-infra-wrappers:
50           build-timeout: '{build-timeout}'
51           jenkins-ssh-credential: '{jenkins-ssh-credential}'
52
53     gerrit_trigger_file_paths:
54       - compare-type: ANT
55         pattern: '**'
56
57     scm:
58       - lf-infra-gerrit-scm:
59           jenkins-ssh-credential: '{jenkins-ssh-credential}'
60           git-url: '{git-url}/{project}.git'
61           refspec: '$GERRIT_REFSPEC'
62           branch: '$GERRIT_BRANCH'
63           submodule-recursive: '{submodule-recursive}'
64           submodule-timeout: '{submodule-timeout}'
65           choosing-strategy: default
66
67     gerrit_verify_triggers:
68       - patchset-created-event:
69           exclude-drafts: true
70           exclude-trivial-rebase: false
71           exclude-no-code-change: false
72       - draft-published-event
73       - comment-added-contains-event:
74           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
75
76     triggers:
77       - gerrit:
78           server-name: '{gerrit-server-name}'
79           trigger-on: '{obj:gerrit_verify_triggers}'
80           projects:
81             - project-compare-type: ANT
82               project-pattern: '{project}'
83               branches:
84                 - branch-compare-type: ANT
85                   branch-pattern: '**/{branch}'
86               file-paths: '{obj:gerrit_trigger_file_paths}'
87
88     builders:
89       - lf-infra-pre-build
90       - shell: !include-raw-escape:
91           - ../shell/install_go.sh
92       - shell: !include-raw-escape:
93           - ../shell/build_kni_installer.sh
94
95     publishers:
96       - lf-infra-publish
97
98 - job-template:
99     id: kni-installer-verify-binary
100     name: '{project-name}-verify-binary'
101
102     ######################
103     # Default parameters #
104     ######################
105
106     build-days-to-keep: 30
107     build-timeout: 60
108     build-node: centos7-builder-8c-8g
109     submodule-recursive: true
110
111     #####################
112     # Job Configuration #
113     #####################
114
115     project-type: freestyle
116     node: '{build-node}'
117
118     properties:
119       - lf-infra-properties:
120           build-days-to-keep: '{build-days-to-keep}'
121
122     parameters:
123       - lf-infra-parameters:
124           project: '{project}'
125           branch: '{branch}'
126           stream: '{stream}'
127           lftools-version: '{lftools-version}'
128
129     wrappers:
130       - lf-infra-wrappers:
131           build-timeout: '{build-timeout}'
132           jenkins-ssh-credential: '{jenkins-ssh-credential}'
133
134     gerrit_trigger_file_paths:
135       - compare-type: REG_EXP
136         pattern: 'Makefile'
137       - compare-type: REG_EXP
138         pattern: 'cmd/binary.go'
139
140     gerrit_verify_triggers:
141       - patchset-created-event:
142           execlude-drafts: true
143           exclude-trivial-rebase: false
144           exclude-no-code-change: false
145       - draft-published-event
146       - comment-added-contains-event:
147           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
148
149     scm:
150       - lf-infra-gerrit-scm:
151           jenkins-ssh-credential: '{jenkins-ssh-credential}'
152           git-url: '{git-url}/{project}.git'
153           refspec: '$GERRIT_REFSPEC'
154           branch: '$GERRIT_BRANCH'
155           submodule-recursive: '{submodule-recursive}'
156           submodule-timeout: '{submodule-timeout}'
157           choosing-strategy: default
158
159     triggers:
160       - gerrit:
161           server-name: '{gerrit-server-name}'
162           trigger-on: '{obj:gerrit_verify_triggers}'
163           projects:
164             - project-compare-type: ANT
165               project-pattern: '{project}'
166               branches:
167                 - branch-compare-type: ANT
168                   branch-pattern: '**/{branch}'
169               file-paths: '{obj:gerrit_trigger_file_paths}'
170
171     builders:
172       - lf-infra-pre-build
173       - shell: !include-raw-escape:
174           - ../shell/install_go.sh
175       - shell: !include-raw-escape:
176           - ../shell/build_kni_binary.sh
177
178     publishers:
179       - lf-infra-publish
180
181 - job-template:
182     id: kni-installer-merge-deploy-aws
183     name: '{project-name}-merge-deploy-aws'
184
185     ######################
186     # Default parameters #
187     ######################
188
189     archive-artifacts: >
190       **/*.log
191     build-days-to-keep: 30
192     build-timeout: 60
193     build-node: centos7-builder-8c-8g
194     submodule-recursive: true
195
196     #####################
197     # Job Configuration #
198     #####################
199
200     project-type: freestyle
201     node: '{build-node}'
202
203     properties:
204       - lf-infra-properties:
205           build-days-to-keep: '{build-days-to-keep}'
206
207     parameters:
208       - lf-infra-parameters:
209           project: '{project}'
210           branch: '{branch}'
211           stream: '{stream}'
212           lftools-version: '{lftools-version}'
213       - string:
214           name: ARCHIVE_ARTIFACTS
215           default: '{archive-artifacts}'
216           description: Artifacts to archive to the logs server.
217
218     wrappers:
219       - lf-infra-wrappers:
220           build-timeout: '{build-timeout}'
221           jenkins-ssh-credential: '{jenkins-ssh-credential}'
222       - credentials-binding:
223           - ssh-user-private-key:
224               credential-id: kni-secrets
225               key-file-variable: KNI_KEY_PATH
226
227     gerrit_trigger_file_paths:
228       - compare-type: REG_EXP
229         pattern: '.*'
230
231     gerrit_merge_triggers:
232       - change-merged-event
233       - comment-added-contains-event:
234           comment-contains-value: remerge$
235
236     scm:
237       - lf-infra-gerrit-scm:
238           jenkins-ssh-credential: '{jenkins-ssh-credential}'
239           git-url: '{git-url}/{project}.git'
240           refspec: '$GERRIT_REFSPEC'
241           branch: '$GERRIT_BRANCH'
242           submodule-recursive: '{submodule-recursive}'
243           submodule-timeout: '{submodule-timeout}'
244           choosing-strategy: default
245
246     triggers:
247       - gerrit:
248           server-name: '{gerrit-server-name}'
249           trigger-on: '{obj:gerrit_merge_triggers}'
250           projects:
251             - project-compare-type: ANT
252               project-pattern: '{project}'
253               branches:
254                 - branch-compare-type: ANT
255                   branch-pattern: '**/{branch}'
256               file-paths: '{obj:gerrit_trigger_file_paths}'
257
258     builders:
259       - lf-infra-pre-build
260       - config-file-provider:
261           files:
262             - file-id: kni-aws-access-key-id
263               target: akraino-secrets/aws-access-key-id
264             - file-id: kni-aws-secret-access-key
265               target: akraino-secrets/aws-secret-access-key
266             - file-id: kni-coreos-pull-secret
267               target: akraino-secrets/coreos-pull-secret
268             - file-id: kni-ssh-pub-key
269               target: akraino-secrets/ssh-pub-key
270       - shell: !include-raw-escape:
271           - ../shell/install_go.sh
272       - shell: !include-raw-escape:
273           - ../shell/kni_deploy_aws.sh
274
275     publishers:
276       - lf-infra-publish
277
278 - job-template:
279     id: kni-templates-verify-deploy-aws
280     name: '{project-name}-verify-deploy-aws'
281
282     ######################
283     # Default parameters #
284     ######################
285
286     build-days-to-keep: 30
287     build-timeout: 60
288     build-node: centos7-builder-8c-8g
289     submodule-recursive: true
290
291     #####################
292     # Job Configuration #
293     #####################
294
295     project-type: freestyle
296     node: '{build-node}'
297
298     properties:
299       - lf-infra-properties:
300           build-days-to-keep: '{build-days-to-keep}'
301
302     parameters:
303       - lf-infra-parameters:
304           project: '{project}'
305           branch: '{branch}'
306           stream: '{stream}'
307           lftools-version: '{lftools-version}'
308
309     wrappers:
310       - lf-infra-wrappers:
311           build-timeout: '{build-timeout}'
312           jenkins-ssh-credential: '{jenkins-ssh-credential}'
313       - credentials-binding:
314           - ssh-user-private-key:
315               credential-id: kni-secrets
316               key-file-variable: KNI_KEY_PATH
317
318     gerrit_trigger_file_paths:
319       - compare-type: REG_EXP
320         pattern: 'aws/*'
321
322     scm:
323       - lf-infra-gerrit-scm:
324           jenkins-ssh-credential: '{jenkins-ssh-credential}'
325           git-url: '{git-url}/kni/installer.git'
326           refspec: '$GERRIT_REFSPEC'
327           branch: '$GERRIT_BRANCH'
328           submodule-recursive: '{submodule-recursive}'
329           submodule-timeout: '{submodule-timeout}'
330           choosing-strategy: default
331
332     gerrit_verify_triggers:
333       - patchset-created-event:
334           exclude-drafts: true
335           exclude-trivial-rebase: false
336           exclude-no-code-change: false
337       - draft-published-event
338       - comment-added-contains-event:
339           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
340
341     triggers:
342       - gerrit:
343           server-name: '{gerrit-server-name}'
344           trigger-on: '{obj:gerrit_verify_triggers}'
345           projects:
346             - project-compare-type: ANT
347               project-pattern: '{project}'
348               branches:
349                 - branch-compare-type: ANT
350                   branch-pattern: '**/{branch}'
351               file-paths: '{obj:gerrit_trigger_file_paths}'
352
353     builders:
354       - lf-infra-pre-build
355       - config-file-provider:
356           files:
357             - file-id: kni-aws-access-key-id
358               target: akraino-secrets/aws-access-key-id
359             - file-id: kni-aws-secret-access-key
360               target: akraino-secrets/aws-secret-access-key
361             - file-id: kni-coreos-pull-secret
362               target: akraino-secrets/coreos-pull-secret
363             - file-id: kni-ssh-pub-key
364               target: akraino-secrets/ssh-pub-key
365       - shell: !include-raw-escape:
366           - ../shell/install_go.sh
367       - shell: !include-raw-escape:
368           - ../shell/kni_deploy_aws.sh