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