[OOM] Upgrade and clean up OOM jobs
[ci-management.git] / jjb / global-templates-helm.yaml
1 ---
2 ############
3 # BUILDERS #
4 ############
5
6 - builder:
7     name: oom-create-netrc
8     builders:
9       - inject:
10           properties-content: "SERVER_ID={server-id}"
11       - shell: !include-raw-escape: ../shell/oom-create-netrc.sh
12
13 ###########
14 # ANCHORS #
15 ###########
16 - helm_job_boiler_plate: &helm_job_boiler_plate
17     name: helm_job_boiler_plate
18
19     ######################
20     # Default parameters #
21     ######################
22
23     branch: master
24     submodule-recursive: true
25
26     # default params for helm jobs
27     build_script: ''
28     git-url: '$GIT_URL/$PROJECT'
29     post_build_script: ''
30     pre_build_script: ''
31     submodule-disable: false
32     submodule-timeout: 10
33     build-timeout: 240
34
35     #####################
36     # Job Configuration #
37     #####################
38
39     project-type: freestyle
40     node: '{build-node}'
41
42     properties:
43       - lf-infra-properties:
44           build-days-to-keep: '{build-days-to-keep}'
45
46     parameters:
47       - lf-infra-parameters:
48           branch: '{branch}'
49           project: '{project}'
50           stream: '{stream}'
51           lftools-version: '{lftools-version}'
52
53     wrappers:
54       - lf-infra-wrappers:
55           build-timeout: '{build-timeout}'
56           jenkins-ssh-credential: '{jenkins-ssh-credential}'
57
58     publishers:
59       - lf-infra-publish
60
61 #################
62 # JOB TEMPLATES #
63 #################
64 - job-template:
65     name: '{project-name}-{stream}-verify-{helm_bin}'
66     # Job template for helm verify jobs
67
68     <<: *helm_job_boiler_plate
69     concurrent: true
70
71     scm:
72       - gerrit-trigger-scm:
73           refspec: '$GERRIT_REFSPEC'
74           choosing-strategy: 'gerrit'
75           submodule-recursive: '{submodule-recursive}'
76
77     triggers:
78       - gerrit-trigger-helm-patch-submitted:
79           status-context: '{project}-Helm-Verify'
80           server: '{server-name}'
81           project: '{project}'
82           branch: '{branch}'
83           helm_bin: '{helm_bin}'
84           files: '{files}'
85
86     builders:
87       - lf-infra-pre-build
88       - shell: |
89           echo "export HELM_BIN={helm_bin}" > helm.prop
90       - shell: '{obj:pre_build_script}'
91       - shell: '{obj:build_script}'
92
93 - job-template:
94     name: '{project-name}-{stream}-merge-helm'
95     # Job template for Helm merge jobs
96
97     <<: *helm_job_boiler_plate
98
99     scm:
100       - gerrit-trigger-scm:
101           refspec: ''
102           choosing-strategy: 'default'
103           submodule-recursive: '{submodule-recursive}'
104
105     triggers:
106       - gerrit-trigger-helm-patch-merged:
107           server: '{server-name}'
108           project: '{project}'
109           branch: '{branch}'
110           helm_bin: '{helm_bin}'
111           files: '{files}'
112
113     builders:
114       - lf-infra-pre-build
115       - lf-provide-maven-settings:
116           global-settings-file: '{mvn-global-settings}'
117           settings-file: '{mvn-settings}'
118       - shell: |
119           echo "export HELM_BIN={helm_bin}" > helm.prop
120       - shell: '{obj:pre_build_script}'
121       - shell: '{obj:build_script}'
122       - oom-create-netrc:
123           server-id: oom-helm
124       - inject:
125           properties-content: |
126             BUILD_TYPE=snapshot
127       - shell: '{obj:post_build_script}'
128       - lf-provide-maven-settings-cleanup
129
130 - job-template:
131     name: '{project-name}-{stream}-release-helm'
132     # Job template for Helm stage jobs
133
134     <<: *helm_job_boiler_plate
135
136     scm:
137       - gerrit-trigger-scm:
138           refspec: ''
139           choosing-strategy: 'default'
140           submodule-recursive: '{submodule-recursive}'
141
142     triggers:
143       - gerrit:
144           helm_bin: '{helm_bin}'
145           server-name: '{gerrit-server-name}'
146           trigger-on:
147             - comment-added-contains-event:
148                 comment-contains-value: '^Patch Set\s+\d+:\s+release-helm\s*$'
149           projects:
150             - project-compare-type: 'ANT'
151               project-pattern: '{project}'
152               branches:
153                 - branch-compare-type: 'ANT'
154                   branch-pattern: '**/{branch}'
155               file-paths:
156                 - compare-type: 'ANT'
157                   pattern: '**'
158
159     builders:
160       - lf-infra-pre-build
161       - lf-provide-maven-settings:
162           global-settings-file: '{mvn-global-settings}'
163           settings-file: '{mvn-settings}'
164       - shell: |
165           echo "export HELM_BIN={helm_bin}" > helm.prop
166       - shell: '{obj:pre_build_script}'
167       - shell: '{obj:build_script}'
168       - oom-create-netrc:
169           server-id: oom-helm
170       - inject:
171           properties-content: |
172             BUILD_TYPE=release
173       - shell: '{obj:post_build_script}'
174       - lf-provide-maven-settings-cleanup