Merge "Changing builder node"
[ci-management.git] / jjb / global-templates-helm.yaml
1 ---
2 ###########
3 # ANCHORS #
4 ###########
5 - helm_job_boiler_plate: &helm_job_boiler_plate
6     name: helm_job_boiler_plate
7
8     ######################
9     # Default parameters #
10     ######################
11
12     branch: master
13     submodule-recursive: true
14
15     # default params for helm jobs
16     build_script: ''
17     git-url: '$GIT_URL/$PROJECT'
18     post_build_script: ''
19     pre_build_script: ''
20     submodule-disable: false
21     submodule-recursive: true
22     submodule-timeout: 10
23
24     #####################
25     # Job Configuration #
26     #####################
27
28     project-type: freestyle
29     node: '{build-node}'
30
31     properties:
32       - lf-infra-properties:
33           build-days-to-keep: '{build-days-to-keep}'
34
35     parameters:
36       - lf-infra-parameters:
37           branch: '{branch}'
38           project: '{project}'
39           stream: '{stream}'
40           lftools-version: '{lftools-version}'
41
42     wrappers:
43       - lf-infra-wrappers:
44           build-timeout: '{build-timeout}'
45           jenkins-ssh-credential: '{jenkins-ssh-credential}'
46
47     publishers:
48       - lf-infra-publish
49
50 #################
51 # JOB TEMPLATES #
52 #################
53 - job-template:
54     name: '{project-name}-{stream}-verify-helm'
55     # Job template for helm verify jobs
56
57     <<: *helm_job_boiler_plate
58
59     scm:
60       - gerrit-trigger-scm:
61           refspec: '$GERRIT_REFSPEC'
62           choosing-strategy: 'gerrit'
63           submodule-recursive: '{submodule-recursive}'
64
65     triggers:
66       - gerrit-trigger-helm-patch-submitted:
67           status-context: '{project}-Helm-Verify'
68           server: '{server-name}'
69           project: '{project}'
70           branch: '{branch}'
71           files: '{files}'
72
73     builders:
74       - lf-infra-pre-build
75       - shell: '{obj:pre_build_script}'
76       - shell: '{obj:build_script}'
77
78 - job-template:
79     name: '{project-name}-{stream}-merge-helm'
80     # Job template for Helm merge jobs
81
82     <<: *helm_job_boiler_plate
83
84     scm:
85       - gerrit-trigger-scm:
86           refspec: ''
87           choosing-strategy: 'default'
88           submodule-recursive: '{submodule-recursive}'
89
90     triggers:
91       - gerrit-trigger-helm-patch-merged:
92           server: '{server-name}'
93           project: '{project}'
94           branch: '{branch}'
95           files: '{files}'
96
97     builders:
98       - lf-infra-pre-build
99       - lf-provide-maven-settings:
100           global-settings-file: '{mvn-global-settings}'
101           settings-file: '{mvn-settings}'
102       - shell: '{obj:pre_build_script}'
103       - shell: '{obj:build_script}'
104       - lf-infra-create-netrc:
105           server-id: oom-helm
106       - inject:
107           properties-content: |
108             BUILD_TYPE=snapshot
109       - shell: '{obj:post_build_script}'
110       - lf-provide-maven-settings-cleanup
111
112 - job-template:
113     name: '{project-name}-{stream}-verify-external-helm'
114     # Job template for helm verify jobs
115
116     <<: *helm_job_boiler_plate
117
118     parameters:
119       - lf-infra-parameters:
120           branch: '{branch}'
121           project: 'oom'
122           stream: '{stream}'
123           lftools-version: '{lftools-version}'
124
125     scm:
126       - lf-infra-gerrit-scm:
127           jenkins-ssh-credential: '{jenkins-ssh-credential}'
128           git-url: '{git-url}'
129           refspec: '$GERRIT_BRANCH'
130           branch: '$GERRIT_BRANCH'
131           submodule-recursive: '{submodule-recursive}'
132           submodule-timeout: '{submodule-timeout}'
133           submodule-disable: '{submodule-disable}'
134           choosing-strategy: default
135
136     triggers:
137       - gerrit-trigger-helm-patch-submitted:
138           status-context: '{project}-Helm-Verify'
139           server: '{server-name}'
140           project: '{project}'
141           branch: '{branch}'
142           files: '{files}'
143
144     builders:
145       - lf-infra-pre-build
146       - inject:
147           properties-content: 'HELM_MODULE={helm-module}'
148       - shell: !include-raw-escape: shell/apply-submodule-patch-oom.sh
149       - shell: '{obj:pre_build_script}'
150       - shell: '{obj:build_script}'
151
152 - job-template:
153     name: '{project-name}-{stream}-merge-external-helm'
154     # Job template for Helm merge jobs
155
156     <<: *helm_job_boiler_plate
157
158     parameters:
159       - lf-infra-parameters:
160           branch: '{branch}'
161           project: 'oom'
162           stream: '{stream}'
163           lftools-version: '{lftools-version}'
164
165     scm:
166       - lf-infra-gerrit-scm:
167           jenkins-ssh-credential: '{jenkins-ssh-credential}'
168           git-url: '{git-url}'
169           refspec: '$GERRIT_BRANCH'
170           branch: '$GERRIT_BRANCH'
171           submodule-recursive: '{submodule-recursive}'
172           submodule-timeout: '{submodule-timeout}'
173           submodule-disable: '{submodule-disable}'
174           choosing-strategy: default
175
176     triggers:
177       - gerrit-trigger-helm-patch-merged:
178           server: '{server-name}'
179           project: '{project}'
180           branch: '{branch}'
181           files: '{files}'
182
183     builders:
184       - lf-infra-pre-build
185       - inject:
186           properties-content: 'HELM_MODULE={helm-module}'
187       - lf-provide-maven-settings:
188           global-settings-file: 'global-settings'
189           settings-file: '{mvn-settings}'
190       - shell: '{obj:pre_build_script}'
191       - shell: '{obj:build_script}'
192       - lf-infra-create-netrc:
193           server-id: oom-helm
194       - inject:
195           properties-content: |
196             BUILD_TYPE=snapshot
197       - shell: '{obj:post_build_script}'
198       - lf-provide-maven-settings-cleanup
199
200 - job-template:
201     name: '{project-name}-{stream}-stage-helm'
202     # Job template for Helm stage jobs
203
204     <<: *helm_job_boiler_plate
205
206     scm:
207       - gerrit-trigger-scm:
208           refspec: ''
209           choosing-strategy: 'default'
210           submodule-recursive: '{submodule-recursive}'
211
212     triggers:
213       - pollscm:
214           cron: '0 22 * * *'
215       - gerrit:
216           trigger-on:
217             - comment-added-contains-event:
218                 comment-contains-value: '^stage-helm$'
219
220     builders:
221       - lf-infra-pre-build
222       - lf-provide-maven-settings:
223           global-settings-file: '{mvn-global-settings}'
224           settings-file: '{mvn-settings}'
225       - shell: '{obj:pre_build_script}'
226       - shell: '{obj:build_script}'
227       - lf-infra-create-netrc:
228           server-id: oom-helm
229       - inject:
230           properties-content: |
231             BUILD_TYPE=staging
232       - shell: '{obj:post_build_script}'
233       - lf-provide-maven-settings-cleanup
234
235 - job-template:
236     name: '{project-name}-{subproject}-{stream}-verify-helm'
237     # Job template for helm verify jobs
238
239     <<: *helm_job_boiler_plate
240
241     disabled: true
242     builders:
243       - lf-infra-pre-build
244       - shell: '{pre_build_script}'
245       - shell: '{build_script}'
246       - shell: '{post_build_script}'
247
248 - job-template:
249     name: '{project-name}-{subproject}-{stream}-merge-helm'
250     # Job template for helm merge jobs
251
252     <<: *helm_job_boiler_plate
253
254     disabled: true
255     builders:
256       - lf-infra-pre-build
257       - shell: '{pre_build_script}'
258       - shell: '{build_script}'
259       - shell: '{post_build_script}'
260
261 - job-template:
262     name: '{project-name}-{stream}-update-helm-weekly'
263     # Job template for weekly helm update jobs
264     #
265     # Required Variables:
266     #     branch:    git branch (eg. stable/lithium or master)
267     <<: *helm_job_boiler_plate
268
269     disabled: true
270     scm:
271       - lf-infra-gerrit-scm:
272           jenkins-ssh-credential: '{jenkins-ssh-credential}'
273           git-url: '$GIT_URL/$PROJECT'
274           refspec: '$GERRIT_REFSPEC'
275           branch: '$GERRIT_BRANCH'
276           submodule-recursive: true
277           submodule-timeout: '{submodule-timeout}'
278           submodule-disable: '{submodule-disable}'
279           choosing-strategy: default
280
281     builders:
282       - lf-infra-pre-build
283       - shell: '{pre_build_script}'
284       - shell: '{build_script}'
285       - shell: '{post_build_script}'
286
287     triggers:
288       # 11 AM UTC
289       - timed: '@daily'
290       - gerrit-trigger-release-manually:
291           server: '{server-name}'
292           project: '{project}'
293           branch: '{branch}'
294