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