Merge "Add new job for deploying libvirt"
[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-installer-merge-deploy-libvirt
280     name: '{project-name}-merge-deploy-libvirt'
281
282     ######################
283     # Default parameters #
284     ######################
285
286     archive-artifacts: >
287       **/*.log
288     build-days-to-keep: 30
289     build-timeout: 60
290     build-node: kni-libvirt
291     submodule-recursive: true
292
293     #####################
294     # Job Configuration #
295     #####################
296
297     project-type: freestyle
298     node: '{build-node}'
299
300     properties:
301       - lf-infra-properties:
302           build-days-to-keep: '{build-days-to-keep}'
303
304     parameters:
305       - lf-infra-parameters:
306           project: '{project}'
307           branch: '{branch}'
308           stream: '{stream}'
309           lftools-version: '{lftools-version}'
310       - string:
311           name: ARCHIVE_ARTIFACTS
312           default: '{archive-artifacts}'
313           description: Artifacts to archive to the logs server.
314
315     wrappers:
316       - lf-infra-wrappers:
317           build-timeout: '{build-timeout}'
318           jenkins-ssh-credential: '{jenkins-ssh-credential}'
319       - credentials-binding:
320           - ssh-user-private-key:
321               credential-id: kni-secrets
322               key-file-variable: KNI_KEY_PATH
323
324     gerrit_trigger_file_paths:
325       - compare-type: REG_EXP
326         pattern: '.*'
327
328     gerrit_merge_triggers:
329       - change-merged-event
330       - comment-added-contains-event:
331           comment-contains-value: remerge$
332
333     scm:
334       - lf-infra-gerrit-scm:
335           jenkins-ssh-credential: '{jenkins-ssh-credential}'
336           git-url: '{git-url}/{project}.git'
337           refspec: '$GERRIT_REFSPEC'
338           branch: '$GERRIT_BRANCH'
339           submodule-recursive: '{submodule-recursive}'
340           submodule-timeout: '{submodule-timeout}'
341           choosing-strategy: default
342
343     triggers:
344       - gerrit:
345           server-name: '{gerrit-server-name}'
346           trigger-on: '{obj:gerrit_merge_triggers}'
347           projects:
348             - project-compare-type: ANT
349               project-pattern: '{project}'
350               branches:
351                 - branch-compare-type: ANT
352                   branch-pattern: '**/{branch}'
353               file-paths: '{obj:gerrit_trigger_file_paths}'
354
355     builders:
356       - lf-infra-pre-build
357       - config-file-provider:
358           files:
359             - file-id: kni-coreos-pull-secret
360               target: akraino-secrets/coreos-pull-secret
361             - file-id: kni-ssh-pub-key
362               target: akraino-secrets/ssh-pub-key
363       - shell: !include-raw-escape:
364           - ../shell/install_go.sh
365       - shell: !include-raw-escape:
366           - ../shell/kni_deploy_libvirt.sh
367
368     publishers:
369       - lf-infra-publish
370
371 - job-template:
372     id: kni-templates-verify-deploy-aws
373     name: '{project-name}-verify-deploy-aws'
374
375     ######################
376     # Default parameters #
377     ######################
378
379     build-days-to-keep: 30
380     build-timeout: 60
381     build-node: centos7-builder-8c-8g
382     submodule-recursive: true
383
384     #####################
385     # Job Configuration #
386     #####################
387
388     project-type: freestyle
389     node: '{build-node}'
390
391     properties:
392       - lf-infra-properties:
393           build-days-to-keep: '{build-days-to-keep}'
394
395     parameters:
396       - lf-infra-parameters:
397           project: '{project}'
398           branch: '{branch}'
399           stream: '{stream}'
400           lftools-version: '{lftools-version}'
401
402     wrappers:
403       - lf-infra-wrappers:
404           build-timeout: '{build-timeout}'
405           jenkins-ssh-credential: '{jenkins-ssh-credential}'
406       - credentials-binding:
407           - ssh-user-private-key:
408               credential-id: kni-secrets
409               key-file-variable: KNI_KEY_PATH
410
411     gerrit_trigger_file_paths:
412       - compare-type: REG_EXP
413         pattern: 'aws/*'
414
415     scm:
416       - lf-infra-gerrit-scm:
417           jenkins-ssh-credential: '{jenkins-ssh-credential}'
418           git-url: '{git-url}/kni/installer.git'
419           refspec: '$GERRIT_REFSPEC'
420           branch: '$GERRIT_BRANCH'
421           submodule-recursive: '{submodule-recursive}'
422           submodule-timeout: '{submodule-timeout}'
423           choosing-strategy: default
424
425     gerrit_verify_triggers:
426       - patchset-created-event:
427           exclude-drafts: true
428           exclude-trivial-rebase: false
429           exclude-no-code-change: false
430       - draft-published-event
431       - comment-added-contains-event:
432           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
433
434     triggers:
435       - gerrit:
436           server-name: '{gerrit-server-name}'
437           trigger-on: '{obj:gerrit_verify_triggers}'
438           projects:
439             - project-compare-type: ANT
440               project-pattern: '{project}'
441               branches:
442                 - branch-compare-type: ANT
443                   branch-pattern: '**/{branch}'
444               file-paths: '{obj:gerrit_trigger_file_paths}'
445
446     builders:
447       - lf-infra-pre-build
448       - config-file-provider:
449           files:
450             - file-id: kni-aws-access-key-id
451               target: akraino-secrets/aws-access-key-id
452             - file-id: kni-aws-secret-access-key
453               target: akraino-secrets/aws-secret-access-key
454             - file-id: kni-coreos-pull-secret
455               target: akraino-secrets/coreos-pull-secret
456             - file-id: kni-ssh-pub-key
457               target: akraino-secrets/ssh-pub-key
458       - shell: !include-raw-escape:
459           - ../shell/install_go.sh
460       - shell: !include-raw-escape:
461           - ../shell/kni_deploy_aws.sh
462
463     publishers:
464       - lf-infra-publish
465
466 - job-template:
467     id: kni-templates-verify-deploy-libvirt
468     name: '{project-name}-verify-deploy-libvirt'
469
470     ######################
471     # Default parameters #
472     ######################
473
474     build-days-to-keep: 30
475     build-timeout: 60
476     build-node: kni-libvirt
477     submodule-recursive: true
478
479     #####################
480     # Job Configuration #
481     #####################
482
483     project-type: freestyle
484     node: '{build-node}'
485
486     properties:
487       - lf-infra-properties:
488           build-days-to-keep: '{build-days-to-keep}'
489
490     parameters:
491       - lf-infra-parameters:
492           project: '{project}'
493           branch: '{branch}'
494           stream: '{stream}'
495           lftools-version: '{lftools-version}'
496
497     wrappers:
498       - lf-infra-wrappers:
499           build-timeout: '{build-timeout}'
500           jenkins-ssh-credential: '{jenkins-ssh-credential}'
501       - credentials-binding:
502           - ssh-user-private-key:
503               credential-id: kni-secrets
504               key-file-variable: KNI_KEY_PATH
505
506     gerrit_trigger_file_paths:
507       - compare-type: REG_EXP
508         pattern: 'aws/*'
509
510     scm:
511       - lf-infra-gerrit-scm:
512           jenkins-ssh-credential: '{jenkins-ssh-credential}'
513           git-url: '{git-url}/kni/installer.git'
514           refspec: '$GERRIT_REFSPEC'
515           branch: '$GERRIT_BRANCH'
516           submodule-recursive: '{submodule-recursive}'
517           submodule-timeout: '{submodule-timeout}'
518           choosing-strategy: default
519
520     gerrit_verify_triggers:
521       - patchset-created-event:
522           exclude-drafts: true
523           exclude-trivial-rebase: false
524           exclude-no-code-change: false
525       - draft-published-event
526       - comment-added-contains-event:
527           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
528
529     triggers:
530       - gerrit:
531           server-name: '{gerrit-server-name}'
532           trigger-on: '{obj:gerrit_verify_triggers}'
533           projects:
534             - project-compare-type: ANT
535               project-pattern: '{project}'
536               branches:
537                 - branch-compare-type: ANT
538                   branch-pattern: '**/{branch}'
539               file-paths: '{obj:gerrit_trigger_file_paths}'
540
541     builders:
542       - lf-infra-pre-build
543       - config-file-provider:
544           files:
545             - file-id: kni-coreos-pull-secret
546               target: akraino-secrets/coreos-pull-secret
547             - file-id: kni-ssh-pub-key
548               target: akraino-secrets/ssh-pub-key
549       - shell: !include-raw-escape:
550           - ../shell/install_go.sh
551       - shell: !include-raw-escape:
552           - ../shell/kni_deploy_libvirt.sh
553
554     publishers:
555       - lf-infra-publish
556