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