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-build-installer
19     name: '{project-name}-build-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_merge_triggers:
54       - change-merged-event
55       - comment-added-contains-event:
56           comment-contains-value: remerge$
57
58     gerrit_trigger_file_paths:
59       - compare-type: ANT
60         pattern: '**'
61
62     scm:
63       - lf-infra-gerrit-scm:
64           jenkins-ssh-credential: '{jenkins-ssh-credential}'
65           git-url: '{git-url}/{project}.git'
66           refspec: '$GERRIT_REFSPEC'
67           branch: '$GERRIT_BRANCH'
68           submodule-recursive: '{submodule-recursive}'
69           submodule-timeout: '{submodule-timeout}'
70           choosing-strategy: default
71
72     triggers:
73       - gerrit:
74           server-name: '{gerrit-server-name}'
75           trigger-on: '{obj:gerrit_merge_triggers}'
76           projects:
77             - project-compare-type: ANT
78               project-pattern: '{project}'
79               branches:
80                 - branch-compare-type: ANT
81                   branch-pattern: '**/{branch}'
82               file-paths: '{obj:gerrit_trigger_file_paths}'
83
84     builders:
85       - lf-infra-pre-build
86       - shell: !include-raw-escape:
87           - ../shell/install_go.sh
88       - shell: !include-raw-escape:
89           - ../shell/build_kni_installer.sh
90
91     publishers:
92       - lf-infra-publish
93
94 - job-template:
95     id: kni-installer-build-binary
96     name: '{project-name}-build-binary'
97
98     ######################
99     # Default parameters #
100     ######################
101
102     build-days-to-keep: 30
103     build-timeout: 60
104     build-node: centos7-builder-8c-8g
105     submodule-recursive: true
106
107     #####################
108     # Job Configuration #
109     #####################
110
111     project-type: freestyle
112     node: '{build-node}'
113
114     properties:
115       - lf-infra-properties:
116           build-days-to-keep: '{build-days-to-keep}'
117
118     parameters:
119       - lf-infra-parameters:
120           project: '{project}'
121           branch: '{branch}'
122           stream: '{stream}'
123           lftools-version: '{lftools-version}'
124
125     wrappers:
126       - lf-infra-wrappers:
127           build-timeout: '{build-timeout}'
128           jenkins-ssh-credential: '{jenkins-ssh-credential}'
129
130     gerrit_merge_triggers:
131       - change-merged-event
132       - comment-added-contains-event:
133           comment-contains-value: remerge$
134
135     gerrit_trigger_file_paths:
136       - compare-type: REG_EXP
137         pattern: 'Makefile'
138       - compare-type: REG_EXP
139         pattern: 'cmd/binary.go'
140
141     scm:
142       - lf-infra-gerrit-scm:
143           jenkins-ssh-credential: '{jenkins-ssh-credential}'
144           git-url: '{git-url}/{project}.git'
145           refspec: '$GERRIT_REFSPEC'
146           branch: '$GERRIT_BRANCH'
147           submodule-recursive: '{submodule-recursive}'
148           submodule-timeout: '{submodule-timeout}'
149           choosing-strategy: default
150
151     triggers:
152       - gerrit:
153           server-name: '{gerrit-server-name}'
154           trigger-on:
155             - patchset-created-event:
156                 exclude-drafts: 'false'
157                 exclude-trivial-rebase: 'false'
158                 exclude-no-code-change: 'false'
159             - change-merged-event
160             - comment-added-contains-event:
161                 comment-contains-value: 'recheck'
162             - comment-added-contains-event:
163                 comment-contains-value: 'reverify'
164
165     builders:
166       - lf-infra-pre-build
167       - shell: !include-raw-escape:
168           - ../shell/install_go.sh
169       - shell: !include-raw-escape:
170           - ../shell/build_kni_binary.sh
171
172 - job-template:
173     id: kni-installer-merge-deploy-aws
174     name: '{project-name}-merge-deploy-aws'
175
176     ######################
177     # Default parameters #
178     ######################
179
180     archive-artifacts: >
181       **/*.log
182     build-days-to-keep: 30
183     build-timeout: 60
184     build-node: centos7-builder-8c-8g
185     submodule-recursive: true
186
187     #####################
188     # Job Configuration #
189     #####################
190
191     project-type: freestyle
192     node: '{build-node}'
193
194     properties:
195       - lf-infra-properties:
196           build-days-to-keep: '{build-days-to-keep}'
197
198     parameters:
199       - lf-infra-parameters:
200           project: '{project}'
201           branch: '{branch}'
202           stream: '{stream}'
203           lftools-version: '{lftools-version}'
204       - string:
205           name: ARCHIVE_ARTIFACTS
206           default: '{archive-artifacts}'
207           description: Artifacts to archive to the logs server.
208
209     wrappers:
210       - lf-infra-wrappers:
211           build-timeout: '{build-timeout}'
212           jenkins-ssh-credential: '{jenkins-ssh-credential}'
213       - credentials-binding:
214           - ssh-user-private-key:
215               credential-id: kni-secrets
216               key-file-variable: KNI_KEY_PATH
217
218     gerrit_trigger_file_paths:
219       - compare-type: REG_EXP
220         pattern: '.*'
221
222     gerrit_merge_triggers:
223       - change-merged-event
224       - comment-added-contains-event:
225           comment-contains-value: remerge$
226
227     scm:
228       - lf-infra-gerrit-scm:
229           jenkins-ssh-credential: '{jenkins-ssh-credential}'
230           git-url: '{git-url}/{project}.git'
231           refspec: '$GERRIT_REFSPEC'
232           branch: '$GERRIT_BRANCH'
233           submodule-recursive: '{submodule-recursive}'
234           submodule-timeout: '{submodule-timeout}'
235           choosing-strategy: default
236
237     triggers:
238       - gerrit:
239           server-name: '{gerrit-server-name}'
240           trigger-on: '{obj:gerrit_merge_triggers}'
241           projects:
242             - project-compare-type: ANT
243               project-pattern: '{project}'
244               branches:
245                 - branch-compare-type: ANT
246                   branch-pattern: '**/{branch}'
247               file-paths: '{obj:gerrit_trigger_file_paths}'
248
249     builders:
250       - lf-infra-pre-build
251       - config-file-provider:
252           files:
253             - file-id: kni-aws-access-key-id
254               target: akraino-secrets/aws-access-key-id
255             - file-id: kni-aws-secret-access-key
256               target: akraino-secrets/aws-secret-access-key
257             - file-id: kni-coreos-pull-secret
258               target: akraino-secrets/coreos-pull-secret
259             - file-id: kni-ssh-pub-key
260               target: akraino-secrets/ssh-pub-key
261       - shell: !include-raw-escape:
262           - ../shell/install_go.sh
263       - shell: !include-raw-escape:
264           - ../shell/kni_deploy_aws.sh
265
266     publishers:
267       - lf-infra-publish
268
269 - job-template:
270     id: kni-installer-merge-deploy-libvirt
271     name: '{project-name}-merge-deploy-libvirt'
272
273     ######################
274     # Default parameters #
275     ######################
276
277     archive-artifacts: >
278       **/*.log
279     build-days-to-keep: 30
280     build-timeout: 60
281     build-node: kni-libvirt
282     submodule-recursive: true
283
284     #####################
285     # Job Configuration #
286     #####################
287
288     project-type: freestyle
289     node: '{build-node}'
290
291     properties:
292       - lf-infra-properties:
293           build-days-to-keep: '{build-days-to-keep}'
294
295     parameters:
296       - lf-infra-parameters:
297           project: '{project}'
298           branch: '{branch}'
299           stream: '{stream}'
300           lftools-version: '{lftools-version}'
301       - string:
302           name: ARCHIVE_ARTIFACTS
303           default: '{archive-artifacts}'
304           description: Artifacts to archive to the logs server.
305
306     wrappers:
307       - lf-infra-wrappers:
308           build-timeout: '{build-timeout}'
309           jenkins-ssh-credential: '{jenkins-ssh-credential}'
310       - credentials-binding:
311           - ssh-user-private-key:
312               credential-id: kni-secrets
313               key-file-variable: KNI_KEY_PATH
314
315     gerrit_trigger_file_paths:
316       - compare-type: REG_EXP
317         pattern: '.*'
318
319     gerrit_merge_triggers:
320       - change-merged-event
321       - comment-added-contains-event:
322           comment-contains-value: remerge$
323
324     scm:
325       - lf-infra-gerrit-scm:
326           jenkins-ssh-credential: '{jenkins-ssh-credential}'
327           git-url: '{git-url}/{project}.git'
328           refspec: '$GERRIT_REFSPEC'
329           branch: '$GERRIT_BRANCH'
330           submodule-recursive: '{submodule-recursive}'
331           submodule-timeout: '{submodule-timeout}'
332           choosing-strategy: default
333
334     triggers:
335       - gerrit:
336           server-name: '{gerrit-server-name}'
337           trigger-on: '{obj:gerrit_merge_triggers}'
338           projects:
339             - project-compare-type: ANT
340               project-pattern: '{project}'
341               branches:
342                 - branch-compare-type: ANT
343                   branch-pattern: '**/{branch}'
344               file-paths: '{obj:gerrit_trigger_file_paths}'
345
346     builders:
347       - lf-infra-pre-build
348       - config-file-provider:
349           files:
350             - file-id: kni-coreos-pull-secret
351               target: akraino-secrets/coreos-pull-secret
352             - file-id: kni-ssh-pub-key
353               target: akraino-secrets/ssh-pub-key
354       - shell: !include-raw-escape:
355           - ../shell/install_go.sh
356       - shell: !include-raw-escape:
357           - ../shell/kni_deploy_libvirt.sh
358
359     publishers:
360       - lf-infra-publish
361
362 - job-template:
363     id: kni-templates-verify-deploy-aws
364     name: '{project-name}-verify-deploy-aws'
365
366     ######################
367     # Default parameters #
368     ######################
369
370     build-days-to-keep: 30
371     build-timeout: 60
372     build-node: centos7-builder-8c-8g
373     submodule-recursive: true
374
375     #####################
376     # Job Configuration #
377     #####################
378
379     project-type: freestyle
380     node: '{build-node}'
381
382     properties:
383       - lf-infra-properties:
384           build-days-to-keep: '{build-days-to-keep}'
385
386     parameters:
387       - lf-infra-parameters:
388           project: '{project}'
389           branch: '{branch}'
390           stream: '{stream}'
391           lftools-version: '{lftools-version}'
392
393     wrappers:
394       - lf-infra-wrappers:
395           build-timeout: '{build-timeout}'
396           jenkins-ssh-credential: '{jenkins-ssh-credential}'
397       - credentials-binding:
398           - ssh-user-private-key:
399               credential-id: kni-secrets
400               key-file-variable: KNI_KEY_PATH
401
402     gerrit_trigger_file_paths:
403       - compare-type: REG_EXP
404         pattern: 'aws/*'
405
406     scm:
407       - lf-infra-gerrit-scm:
408           jenkins-ssh-credential: '{jenkins-ssh-credential}'
409           git-url: '{git-url}/kni/installer.git'
410           refspec: '$GERRIT_REFSPEC'
411           branch: '$GERRIT_BRANCH'
412           submodule-recursive: '{submodule-recursive}'
413           submodule-timeout: '{submodule-timeout}'
414           choosing-strategy: default
415
416     gerrit_verify_triggers:
417       - patchset-created-event:
418           exclude-drafts: true
419           exclude-trivial-rebase: false
420           exclude-no-code-change: false
421       - draft-published-event
422       - comment-added-contains-event:
423           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
424
425     triggers:
426       - gerrit:
427           server-name: '{gerrit-server-name}'
428           trigger-on: '{obj:gerrit_verify_triggers}'
429           projects:
430             - project-compare-type: ANT
431               project-pattern: '{project}'
432               branches:
433                 - branch-compare-type: ANT
434                   branch-pattern: '**/{branch}'
435               file-paths: '{obj:gerrit_trigger_file_paths}'
436
437     builders:
438       - lf-infra-pre-build
439       - config-file-provider:
440           files:
441             - file-id: kni-aws-access-key-id
442               target: akraino-secrets/aws-access-key-id
443             - file-id: kni-aws-secret-access-key
444               target: akraino-secrets/aws-secret-access-key
445             - file-id: kni-coreos-pull-secret
446               target: akraino-secrets/coreos-pull-secret
447             - file-id: kni-ssh-pub-key
448               target: akraino-secrets/ssh-pub-key
449       - shell: !include-raw-escape:
450           - ../shell/install_go.sh
451       - shell: !include-raw-escape:
452           - ../shell/kni_deploy_aws.sh
453
454     publishers:
455       - lf-infra-publish
456
457 - job-template:
458     id: kni-templates-verify-deploy-libvirt
459     name: '{project-name}-verify-deploy-libvirt'
460
461     ######################
462     # Default parameters #
463     ######################
464
465     build-days-to-keep: 30
466     build-timeout: 60
467     build-node: kni-libvirt
468     submodule-recursive: true
469
470     #####################
471     # Job Configuration #
472     #####################
473
474     project-type: freestyle
475     node: '{build-node}'
476
477     properties:
478       - lf-infra-properties:
479           build-days-to-keep: '{build-days-to-keep}'
480
481     parameters:
482       - lf-infra-parameters:
483           project: '{project}'
484           branch: '{branch}'
485           stream: '{stream}'
486           lftools-version: '{lftools-version}'
487
488     wrappers:
489       - lf-infra-wrappers:
490           build-timeout: '{build-timeout}'
491           jenkins-ssh-credential: '{jenkins-ssh-credential}'
492       - credentials-binding:
493           - ssh-user-private-key:
494               credential-id: kni-secrets
495               key-file-variable: KNI_KEY_PATH
496
497     gerrit_trigger_file_paths:
498       - compare-type: REG_EXP
499         pattern: 'aws/*'
500
501     scm:
502       - lf-infra-gerrit-scm:
503           jenkins-ssh-credential: '{jenkins-ssh-credential}'
504           git-url: '{git-url}/kni/installer.git'
505           refspec: '$GERRIT_REFSPEC'
506           branch: '$GERRIT_BRANCH'
507           submodule-recursive: '{submodule-recursive}'
508           submodule-timeout: '{submodule-timeout}'
509           choosing-strategy: default
510
511     gerrit_verify_triggers:
512       - patchset-created-event:
513           exclude-drafts: true
514           exclude-trivial-rebase: false
515           exclude-no-code-change: false
516       - draft-published-event
517       - comment-added-contains-event:
518           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
519
520     triggers:
521       - gerrit:
522           server-name: '{gerrit-server-name}'
523           trigger-on: '{obj:gerrit_verify_triggers}'
524           projects:
525             - project-compare-type: ANT
526               project-pattern: '{project}'
527               branches:
528                 - branch-compare-type: ANT
529                   branch-pattern: '**/{branch}'
530               file-paths: '{obj:gerrit_trigger_file_paths}'
531
532     builders:
533       - lf-infra-pre-build
534       - config-file-provider:
535           files:
536             - file-id: kni-coreos-pull-secret
537               target: akraino-secrets/coreos-pull-secret
538             - file-id: kni-ssh-pub-key
539               target: akraino-secrets/ssh-pub-key
540       - shell: !include-raw-escape:
541           - ../shell/install_go.sh
542       - shell: !include-raw-escape:
543           - ../shell/kni_deploy_libvirt.sh
544
545     publishers:
546       - lf-infra-publish
547