Chore: Automation adds portal-ng/bff config files
[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}'