Merge "[SDC] Update maven to 3.6"
[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-timeout: 10
22     build-timeout: 240
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_bin}'
55     # Job template for helm verify jobs
56
57     <<: *helm_job_boiler_plate
58     concurrent: true
59
60     scm:
61       - gerrit-trigger-scm:
62           refspec: '$GERRIT_REFSPEC'
63           choosing-strategy: 'gerrit'
64           submodule-recursive: '{submodule-recursive}'
65
66     triggers:
67       - gerrit-trigger-helm-patch-submitted:
68           status-context: '{project}-Helm-Verify'
69           server: '{server-name}'
70           project: '{project}'
71           branch: '{branch}'
72           helm_bin: '{helm_bin}'
73           files: '{files}'
74
75     builders:
76       - lf-infra-pre-build
77       - shell: |
78           echo "export HELM_BIN={helm_bin}" > helm.prop
79       - shell: '{obj:pre_build_script}'
80       - shell: '{obj:build_script}'
81
82 - job-template:
83     name: '{project-name}-{stream}-merge-helm'
84     # Job template for Helm merge jobs
85
86     <<: *helm_job_boiler_plate
87
88     scm:
89       - gerrit-trigger-scm:
90           refspec: ''
91           choosing-strategy: 'default'
92           submodule-recursive: '{submodule-recursive}'
93
94     triggers:
95       - gerrit-trigger-helm-patch-merged:
96           server: '{server-name}'
97           project: '{project}'
98           branch: '{branch}'
99           files: '{files}'
100
101     builders:
102       - lf-infra-pre-build
103       - lf-provide-maven-settings:
104           global-settings-file: '{mvn-global-settings}'
105           settings-file: '{mvn-settings}'
106       - shell: |
107           echo "export HELM_BIN=helm3.5" > helm.prop
108       - shell: '{obj:pre_build_script}'
109       - shell: '{obj:build_script}'
110       - lf-infra-create-netrc:
111           server-id: oom-helm
112       - inject:
113           properties-content: |
114             BUILD_TYPE=snapshot
115       - shell: '{obj:post_build_script}'
116       - lf-provide-maven-settings-cleanup
117
118 - job-template:
119     name: '{project-name}-{stream}-verify-external-helm'
120     # Job template for helm verify jobs
121
122     <<: *helm_job_boiler_plate
123
124     parameters:
125       - lf-infra-parameters:
126           branch: '{branch}'
127           project: 'oom'
128           stream: '{stream}'
129           lftools-version: '{lftools-version}'
130
131     scm:
132       - lf-infra-gerrit-scm:
133           jenkins-ssh-credential: '{jenkins-ssh-credential}'
134           git-url: '{git-url}'
135           refspec: '$GERRIT_BRANCH'
136           branch: '$GERRIT_BRANCH'
137           submodule-recursive: '{submodule-recursive}'
138           submodule-timeout: '{submodule-timeout}'
139           submodule-disable: '{submodule-disable}'
140           choosing-strategy: default
141
142     triggers:
143       - gerrit-trigger-helm-patch-submitted:
144           status-context: '{project}-Helm-Verify'
145           server: '{server-name}'
146           project: '{project}'
147           branch: '{branch}'
148           files: '{files}'
149
150     builders:
151       - lf-infra-pre-build
152       - inject:
153           properties-content: 'HELM_MODULE={helm-module}'
154       - shell: !include-raw-escape: shell/apply-submodule-patch-oom.sh
155       - shell: |
156           echo "export HELM_BIN=helm3.5" > helm.prop
157       - shell: '{obj:pre_build_script}'
158       - shell: '{obj:build_script}'
159
160 - job-template:
161     name: '{project-name}-{stream}-merge-external-helm'
162     # Job template for Helm merge jobs
163
164     <<: *helm_job_boiler_plate
165
166     parameters:
167       - lf-infra-parameters:
168           branch: '{branch}'
169           project: 'oom'
170           stream: '{stream}'
171           lftools-version: '{lftools-version}'
172
173     scm:
174       - lf-infra-gerrit-scm:
175           jenkins-ssh-credential: '{jenkins-ssh-credential}'
176           git-url: '{git-url}'
177           refspec: '$GERRIT_BRANCH'
178           branch: '$GERRIT_BRANCH'
179           submodule-recursive: '{submodule-recursive}'
180           submodule-timeout: '{submodule-timeout}'
181           submodule-disable: '{submodule-disable}'
182           choosing-strategy: default
183
184     triggers:
185       - gerrit-trigger-helm-patch-merged:
186           server: '{server-name}'
187           project: '{project}'
188           branch: '{branch}'
189           files: '{files}'
190
191     builders:
192       - lf-infra-pre-build
193       - inject:
194           properties-content: 'HELM_MODULE={helm-module}'
195       - lf-provide-maven-settings:
196           global-settings-file: 'global-settings'
197           settings-file: '{mvn-settings}'
198       - shell: |
199           echo "export HELM_BIN=helm3.5" > helm.prop
200       - shell: '{obj:pre_build_script}'
201       - shell: '{obj:build_script}'
202       - lf-infra-create-netrc:
203           server-id: oom-helm
204       - inject:
205           properties-content: |
206             BUILD_TYPE=snapshot
207       - shell: '{obj:post_build_script}'
208       - lf-provide-maven-settings-cleanup
209
210 - job-template:
211     name: '{project-name}-{stream}-release-helm'
212     # Job template for Helm stage jobs
213
214     <<: *helm_job_boiler_plate
215
216     scm:
217       - gerrit-trigger-scm:
218           refspec: ''
219           choosing-strategy: 'default'
220           submodule-recursive: '{submodule-recursive}'
221
222     triggers:
223       - gerrit:
224           trigger-on:
225             - comment-added-contains-event:
226                 comment-contains-value: '^Patch Set\s+\d+:\s+release-helm\s*$'
227
228     builders:
229       - lf-infra-pre-build
230       - lf-provide-maven-settings:
231           global-settings-file: '{mvn-global-settings}'
232           settings-file: '{mvn-settings}'
233       - shell: |
234           echo "export HELM_BIN=helm3.5" > helm.prop
235       - shell: '{obj:pre_build_script}'
236       - shell: '{obj:build_script}'
237       - lf-infra-create-netrc:
238           server-id: oom-helm
239       - inject:
240           properties-content: |
241             BUILD_TYPE=release
242       - shell: '{obj:post_build_script}'
243       - lf-provide-maven-settings-cleanup
244
245 - job-template:
246     name: '{project-name}-{subproject}-{stream}-verify-helm'
247     # Job template for helm verify jobs
248
249     <<: *helm_job_boiler_plate
250
251     disabled: true
252     builders:
253       - lf-infra-pre-build
254       - shell: |
255           echo "export HELM_BIN=helm3.5" > helm.prop
256       - shell: '{pre_build_script}'
257       - shell: '{build_script}'
258       - shell: '{post_build_script}'
259
260 - job-template:
261     name: '{project-name}-{subproject}-{stream}-merge-helm'
262     # Job template for helm merge jobs
263
264     <<: *helm_job_boiler_plate
265
266     disabled: true
267     builders:
268       - lf-infra-pre-build
269       - shell: |
270           echo "export HELM_BIN=helm3.5" > helm.prop
271       - shell: '{pre_build_script}'
272       - shell: '{build_script}'
273       - inject:
274           properties-content: |
275             BUILD_TYPE=snapshot
276       - shell: '{post_build_script}'
277
278 - job-template:
279     name: '{project-name}-{stream}-update-helm-weekly'
280     # Job template for weekly helm update jobs
281     #
282     # Required Variables:
283     #     branch:    git branch (eg. stable/lithium or master)
284     <<: *helm_job_boiler_plate
285
286     disabled: true
287     scm:
288       - lf-infra-gerrit-scm:
289           jenkins-ssh-credential: '{jenkins-ssh-credential}'
290           git-url: '$GIT_URL/$PROJECT'
291           refspec: '$GERRIT_REFSPEC'
292           branch: '$GERRIT_BRANCH'
293           submodule-recursive: true
294           submodule-timeout: '{submodule-timeout}'
295           submodule-disable: '{submodule-disable}'
296           choosing-strategy: default
297
298     builders:
299       - lf-infra-pre-build
300       - shell: |
301           echo "export HELM_BIN=helm3.5" > helm.prop
302       - shell: '{pre_build_script}'
303       - shell: '{build_script}'
304       - shell: '{post_build_script}'
305
306     triggers:
307       # 11 AM UTC
308       - timed: '@daily'
309       - gerrit-trigger-release-manually:
310           server: '{server-name}'
311           project: '{project}'
312           branch: '{branch}'