Merge "Spell check fixes in release-jobs docs"
[releng/global-jjb.git] / jjb / lf-release-jobs.yaml
1 # SPDX-License-Identifier: Apache-2.0
2 ##############################################################################
3 # Copyright (c) 2019 The Linux Foundation and others.
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9 ---
10 ####################
11 # COMMON FUNCTIONS #
12 ####################
13
14 - lf_release_common: &lf_release_common
15     name: lf-release-common
16
17     ######################
18     # Default parameters #
19     ######################
20
21     gerrit_trigger_file_paths:
22       - compare-type: ANT
23         pattern: "releases/*.yaml"
24
25     #####################
26     # Job Configuration #
27     #####################
28
29     project-type: freestyle
30     node: "{build-node}"
31
32     properties:
33       - lf-infra-properties:
34           build-days-to-keep: 7
35
36     parameters:
37       - lf-infra-parameters:
38           project: "{project}"
39           branch: "$GERRIT_BRANCH"
40           stream: "$GERRIT_BRANCH"
41
42     wrappers:
43       - lf-infra-wrappers:
44           build-timeout: "{build-timeout}"
45           jenkins-ssh-credential: "{jenkins-ssh-release-credential}"
46
47     publishers:
48       - lf-infra-publish
49
50 ##################
51 # RELEASE VERIFY #
52 ##################
53
54 - lf_release_verify: &lf_release_verify
55     name: lf-release-verify
56
57     ######################
58     # Default parameters #
59     ######################
60
61     build-days-to-keep: 7
62     build-timeout: 15
63     disable-job: false
64     git-url: "$GIT_URL/$PROJECT"
65     gerrit-skip-vote: false
66
67     gerrit_verify_triggers:
68       - patchset-created-event:
69           exclude-drafts: true
70           exclude-trivial-rebase: false
71           exclude-no-code-change: false
72       - draft-published-event
73       - comment-added-contains-event:
74           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
75
76     #####################
77     # Job Configuration #
78     #####################
79
80     disabled: "{disable-job}"
81
82     builders:
83       - lf-infra-pre-build
84       - config-file-provider:
85           files:
86             - file-id: sigul-config
87               variable: SIGUL_CONFIG
88             - file-id: sigul-password
89               variable: SIGUL_PASSWORD
90             - file-id: sigul-pki
91               variable: SIGUL_PKI
92             - file-id: signing-pubkey
93               variable: SIGNING_PUBKEY
94       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
95       - shell: !include-raw-escape: ../shell/sigul-install.sh
96       - lf-release
97
98 - job-template:
99     name: "{project-name}-release-verify"
100     id: gerrit-release-verify
101     <<: *lf_release_common
102     # yamllint disable-line rule:key-duplicates
103     <<: *lf_release_verify
104
105     scm:
106       - lf-infra-gerrit-scm:
107           git-url: "{git-url}"
108           refspec: "$GERRIT_REFSPEC"
109           branch: "$GERRIT_BRANCH"
110           submodule-disable: true
111           submodule-recursive: false
112           submodule-timeout: 10
113           choosing-strategy: gerrit
114           jenkins-ssh-credential: "{jenkins-ssh-release-credential}"
115
116     triggers:
117       - gerrit:
118           server-name: "{gerrit-server-name}"
119           trigger-on: "{obj:gerrit_verify_triggers}"
120           projects:
121             - project-compare-type: "ANT"
122               project-pattern: "{project}"
123               branches:
124                 - branch-compare-type: "ANT"
125                   branch-pattern: "**"
126               file-paths: "{obj:gerrit_trigger_file_paths}"
127           skip-vote:
128             successful: "{gerrit-skip-vote}"
129             failed: "{gerrit-skip-vote}"
130             unstable: "{gerrit-skip-vote}"
131             notbuilt: "{gerrit-skip-vote}"
132
133 #################
134 # RELEASE MERGE #
135 #################
136
137 - lf_release_merge: &lf_release_merge
138     name: lf-release-merge
139
140     ######################
141     # Default parameters #
142     ######################
143
144     build-days-to-keep: 7
145     build-timeout: 15
146     disable-job: false
147     git-url: "$GIT_URL/$PROJECT"
148
149     gerrit_merge_triggers:
150       - change-merged-event
151       - comment-added-contains-event:
152           comment-contains-value: remerge$
153
154     #####################
155     # Job Configuration #
156     #####################
157
158     disabled: "{disable-job}"
159
160     builders:
161       - lf-infra-pre-build
162       - config-file-provider:
163           files:
164             - file-id: sigul-config
165               variable: SIGUL_CONFIG
166             - file-id: sigul-password
167               variable: SIGUL_PASSWORD
168             - file-id: sigul-pki
169               variable: SIGUL_PKI
170             - file-id: signing-pubkey
171               variable: SIGNING_PUBKEY
172       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
173       - shell: !include-raw-escape: ../shell/sigul-install.sh
174       - lf-release
175
176 - job-template:
177     name: "{project-name}-release-merge"
178     id: gerrit-release-merge
179     <<: *lf_release_common
180     # yamllint disable-line rule:key-duplicates
181     <<: *lf_release_merge
182
183     scm:
184       - lf-infra-gerrit-scm:
185           jenkins-ssh-credential: "{jenkins-ssh-release-credential}"
186           git-url: "{git-url}"
187           refspec: "$GERRIT_REFSPEC"
188           branch: "$GERRIT_BRANCH"
189           submodule-disable: true
190           submodule-recursive: false
191           submodule-timeout: 10
192           choosing-strategy: default
193
194     triggers:
195       - gerrit:
196           server-name: "{gerrit-server-name}"
197           trigger-on: "{obj:gerrit_merge_triggers}"
198           projects:
199             - project-compare-type: "ANT"
200               project-pattern: "{project}"
201               branches:
202                 - branch-compare-type: "ANT"
203                   branch-pattern: "**"
204               file-paths: "{obj:gerrit_trigger_file_paths}"