3 name: '{project-name}-ci-jobs'
5 # This job group contains all the recommended jobs that should be deployed
15 name: '{project-name}-github-ci-jobs'
17 # This job group contains all the recommended jobs that should be deployed
18 # for any project ci that is using github.
34 - config-file-provider:
37 target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
39 - lf_jjb_file_paths: &lf_jjb_file_paths
40 name: lf-jjb-file-paths
47 - lf_jjb_merge_builders: &lf_jjb_merge_builders
48 name: lf-jjb-merge-builders
51 - shell: !include-raw-escape:
52 - ../shell/jjb-install.sh
53 - ../shell/jjb-merge-job.sh
55 - lf_jjb_verify_builders: &lf_jjb_verify_builders
56 name: lf-jjb-verfy-builders
59 - shell: !include-raw-escape:
60 - ../shell/jjb-install.sh
61 - ../shell/jjb-verify-job.sh
62 - ../shell/jjb-check-unicode.sh
63 - lf-infra-gpg-verify-git-signature
66 name: lf-infra-jjb-parameters
70 default: '{jjb-version}'
71 description: Jenkins Job Builder version to download and install.
77 # JJB verify and merge jobs are the same except for their scm, trigger, and
78 # builders definition. This anchor is the common template
79 - lf_jjb_verify_merge: &lf_jjb_verify_merge
80 name: lf-jjb-verify-merge
81 project-type: freestyle
85 ######################
86 # Default parameters #
87 ######################
90 submodule-recursive: true
97 - lf-infra-properties:
102 - lf-infra-parameters:
105 - lf-infra-jjb-parameters:
106 jjb-version: '{jjb-version}'
111 jenkins-ssh-credential: '{jenkins-ssh-credential}'
117 name: '{project-name}-jjb-merge'
119 <<: *lf_jjb_verify_merge
120 # yamllint disable-line rule:key-duplicates
121 <<: *lf_jjb_merge_builders
123 ######################
124 # Default parameters #
125 ######################
127 git-url: '$GIT_URL/$GERRIT_PROJECT'
129 #####################
130 # Job Configuration #
131 #####################
134 - lf-infra-gerrit-scm:
138 submodule-recursive: '{submodule-recursive}'
139 choosing-strategy: default
140 jenkins-ssh-credential: '{jenkins-ssh-credential}'
144 server-name: '{gerrit-server-name}'
146 - change-merged-event
147 - comment-added-contains-event:
148 comment-contains-value: remerge$
150 - project-compare-type: ANT
151 project-pattern: '{project}'
153 - branch-compare-type: ANT
154 branch-pattern: '**/{branch}'
155 <<: *lf_jjb_file_paths
158 name: '{project-name}-jjb-verify'
159 id: gerrit-jjb-verify
161 <<: *lf_jjb_verify_merge
162 # yamllint disable-line rule:key-duplicates
163 <<: *lf_jjb_verify_builders
165 ######################
166 # Default parameters #
167 ######################
169 git-url: '$GIT_URL/$GERRIT_PROJECT'
171 #####################
172 # Job Configuration #
173 #####################
176 - lf-infra-gerrit-scm:
178 refspec: '$GERRIT_REFSPEC'
179 branch: '$GERRIT_BRANCH'
180 submodule-recursive: '{submodule-recursive}'
181 choosing-strategy: gerrit
182 jenkins-ssh-credential: '{jenkins-ssh-credential}'
186 server-name: '{gerrit-server-name}'
188 - patchset-created-event:
189 exclude-drafts: false
190 exclude-trivial-rebase: false
191 exclude-no-code-change: false
192 - draft-published-event
193 - comment-added-contains-event:
194 comment-contains-value: recheck$
196 - project-compare-type: ANT
197 project-pattern: '{project}'
199 - branch-compare-type: ANT
200 branch-pattern: '**/{branch}'
201 <<: *lf_jjb_file_paths
204 name: '{project-name}-jjb-merge'
206 <<: *lf_jjb_verify_merge
207 # yamllint disable-line rule:key-duplicates
208 <<: *lf_jjb_merge_builders
210 ######################
211 # Default parameters #
212 ######################
214 github-url: https://github.com
216 #####################
217 # Job Configuration #
218 #####################
222 url: '{github-url}/{github-org}/{project}'
225 - lf-infra-github-scm:
226 url: 'git@github.com:{github-org}/{project}'
229 submodule-recursive: '{submodule-recursive}'
230 choosing-strategy: default
231 jenkins-ssh-credential: '{jenkins-ssh-credential}'
237 - github-pull-request:
238 trigger-phrase: '^remerge$'
239 only-trigger-phrase: true
240 status-context: 'JJB Merge'
243 auto-close-on-fail: false
248 name: '{project-name}-jjb-verify'
249 id: github-jjb-verify
250 <<: *lf_jjb_verify_merge
251 # yamllint disable-line rule:key-duplicates
252 <<: *lf_jjb_merge_builders
254 ######################
255 # Default parameters #
256 ######################
258 github-url: https://github.com
260 #####################
261 # Job Configuration #
262 #####################
266 url: '{github-url}/{github-org}/{project}'
269 - lf-infra-github-scm:
270 url: 'git@github.com:{github-org}/{project}'
271 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
273 submodule-recursive: '{submodule-recursive}'
274 choosing-strategy: default
275 jenkins-ssh-credential: '{jenkins-ssh-credential}'
278 - github-pull-request:
279 trigger-phrase: '^recheck$'
280 only-trigger-phrase: false
281 status-context: 'JJB Verify'
284 auto-close-on-fail: false