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/git-validate-jira-urls.sh
61 - ../shell/jjb-install.sh
62 - ../shell/jjb-verify-job.sh
63 - ../shell/jjb-check-unicode.sh
64 - lf-infra-gpg-verify-git-signature
67 name: lf-infra-jjb-parameters
71 default: '{jjb-version}'
72 description: Jenkins Job Builder version to download and install.
78 # JJB verify and merge jobs are the same except for their scm, trigger, and
79 # builders definition. This anchor is the common template
80 - lf_jjb_verify_merge: &lf_jjb_verify_merge
81 name: lf-jjb-verify-merge
82 project-type: freestyle
86 ######################
87 # Default parameters #
88 ######################
91 submodule-recursive: true
98 - lf-infra-properties:
100 build-days-to-keep: 7
103 - lf-infra-parameters:
106 - lf-infra-jjb-parameters:
107 jjb-version: '{jjb-version}'
112 jenkins-ssh-credential: '{jenkins-ssh-credential}'
118 name: '{project-name}-jjb-merge'
120 <<: *lf_jjb_verify_merge
121 # yamllint disable-line rule:key-duplicates
122 <<: *lf_jjb_merge_builders
124 ######################
125 # Default parameters #
126 ######################
128 git-url: '$GIT_URL/$GERRIT_PROJECT'
130 #####################
131 # Job Configuration #
132 #####################
135 - lf-infra-gerrit-scm:
139 submodule-recursive: '{submodule-recursive}'
140 choosing-strategy: default
141 jenkins-ssh-credential: '{jenkins-ssh-credential}'
145 server-name: '{gerrit-server-name}'
147 - change-merged-event
148 - comment-added-contains-event:
149 comment-contains-value: remerge$
151 - project-compare-type: ANT
152 project-pattern: '{project}'
154 - branch-compare-type: ANT
155 branch-pattern: '**/{branch}'
156 <<: *lf_jjb_file_paths
159 name: '{project-name}-jjb-verify'
160 id: gerrit-jjb-verify
162 <<: *lf_jjb_verify_merge
163 # yamllint disable-line rule:key-duplicates
164 <<: *lf_jjb_verify_builders
166 ######################
167 # Default parameters #
168 ######################
170 git-url: '$GIT_URL/$GERRIT_PROJECT'
172 #####################
173 # Job Configuration #
174 #####################
177 - lf-infra-gerrit-scm:
179 refspec: '$GERRIT_REFSPEC'
180 branch: '$GERRIT_BRANCH'
181 submodule-recursive: '{submodule-recursive}'
182 choosing-strategy: gerrit
183 jenkins-ssh-credential: '{jenkins-ssh-credential}'
187 server-name: '{gerrit-server-name}'
189 - patchset-created-event:
190 exclude-drafts: false
191 exclude-trivial-rebase: false
192 exclude-no-code-change: false
193 - draft-published-event
194 - comment-added-contains-event:
195 comment-contains-value: recheck$
197 - project-compare-type: ANT
198 project-pattern: '{project}'
200 - branch-compare-type: ANT
201 branch-pattern: '**/{branch}'
202 <<: *lf_jjb_file_paths
205 name: '{project-name}-jjb-merge'
207 <<: *lf_jjb_verify_merge
208 # yamllint disable-line rule:key-duplicates
209 <<: *lf_jjb_merge_builders
211 #####################
212 # Job Configuration #
213 #####################
217 url: '{git-url}/{github-org}/{project}'
220 - lf-infra-github-scm:
221 url: '{git-clone-url}{github-org}/{project}'
224 submodule-recursive: '{submodule-recursive}'
225 choosing-strategy: default
226 jenkins-ssh-credential: '{jenkins-ssh-credential}'
232 - github-pull-request:
233 trigger-phrase: '^remerge$'
234 only-trigger-phrase: true
235 status-context: 'JJB Merge'
238 auto-close-on-fail: false
243 name: '{project-name}-jjb-verify'
244 id: github-jjb-verify
246 <<: *lf_jjb_verify_merge
247 # yamllint disable-line rule:key-duplicates
248 <<: *lf_jjb_verify_builders
250 #####################
251 # Job Configuration #
252 #####################
256 url: '{git-url}/{github-org}/{project}'
259 - lf-infra-github-scm:
260 url: '{git-clone-url}{github-org}/{project}'
261 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
263 submodule-recursive: '{submodule-recursive}'
264 choosing-strategy: default
265 jenkins-ssh-credential: '{jenkins-ssh-credential}'
268 - github-pull-request:
269 trigger-phrase: '^recheck$'
270 only-trigger-phrase: false
271 status-context: 'JJB Verify'
274 auto-close-on-fail: false