Merge "Fix release-job.sh version var"
[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: "master"
40           stream: "{stream}"
41
42     wrappers:
43       - lf-infra-wrappers:
44           build-timeout: "{build-timeout}"
45           jenkins-ssh-credential: "{jenkins-ssh-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     branch: master
62     stream: master
63     build-days-to-keep: 7
64     build-timeout: 15
65     disable-job: false
66     git-url: "$GIT_URL/$PROJECT"
67     project-pattern: "**"
68     gerrit-skip-vote: false
69
70     gerrit_verify_triggers:
71       - patchset-created-event:
72           exclude-drafts: true
73           exclude-trivial-rebase: false
74           exclude-no-code-change: false
75       - draft-published-event
76       - comment-added-contains-event:
77           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
78
79     #####################
80     # Job Configuration #
81     #####################
82
83     disabled: "{disable-job}"
84
85     builders:
86       - lf-infra-pre-build
87       - config-file-provider:
88           files:
89             - file-id: sigul-config
90               variable: SIGUL_CONFIG
91             - file-id: sigul-password
92               variable: SIGUL_PASSWORD
93             - file-id: sigul-pki
94               variable: SIGUL_PKI
95       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
96       - shell: !include-raw-escape: ../shell/sigul-install.sh
97       - lf-release
98
99 - job-template:
100     name: "{project-name}-release-verify-{stream}"
101     id: gerrit-release-verify
102     <<: *lf_release_common
103     # yamllint disable-line rule:key-duplicates
104     <<: *lf_release_verify
105
106     scm:
107       - lf-infra-gerrit-scm:
108           git-url: "{git-url}"
109           refspec: "$GERRIT_REFSPEC"
110           branch: "master"
111           submodule-disable: true
112           submodule-recursive: false
113           submodule-timeout: 10
114           choosing-strategy: gerrit
115           jenkins-ssh-credential: "{jenkins-ssh-credential}"
116
117     triggers:
118       - gerrit:
119           server-name: "{gerrit-server-name}"
120           trigger-on: "{obj:gerrit_verify_triggers}"
121           projects:
122             - project-compare-type: "ANT"
123               project-pattern: "{project-pattern}"
124               branches:
125                 - branch-compare-type: "ANT"
126                   branch-pattern: "**/master"
127               file-paths: "{obj:gerrit_trigger_file_paths}"
128           skip-vote:
129             successful: "{gerrit-skip-vote}"
130             failed: "{gerrit-skip-vote}"
131             unstable: "{gerrit-skip-vote}"
132             notbuilt: "{gerrit-skip-vote}"
133
134 #################
135 # RELEASE MERGE #
136 #################
137
138 - lf_release_merge: &lf_release_merge
139     name: lf-release-merge
140
141     ######################
142     # Default parameters #
143     ######################
144
145     branch: master
146     stream: master
147     build-days-to-keep: 7
148     build-timeout: 15
149     disable-job: false
150     git-url: "$GIT_URL/$PROJECT"
151     project-pattern: "**"
152
153     gerrit_merge_triggers:
154       - change-merged-event
155       - comment-added-contains-event:
156           comment-contains-value: remerge$
157
158     #####################
159     # Job Configuration #
160     #####################
161
162     disabled: "{disable-job}"
163
164     builders:
165       - lf-infra-pre-build
166       - config-file-provider:
167           files:
168             - file-id: sigul-config
169               variable: SIGUL_CONFIG
170             - file-id: sigul-password
171               variable: SIGUL_PASSWORD
172             - file-id: sigul-pki
173               variable: SIGUL_PKI
174       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
175       - shell: !include-raw-escape: ../shell/sigul-install.sh
176       - lf-release
177
178 - job-template:
179     name: "{project-name}-release-merge-{stream}"
180     id: gerrit-release-merge
181     <<: *lf_release_common
182     # yamllint disable-line rule:key-duplicates
183     <<: *lf_release_merge
184
185     scm:
186       - lf-infra-gerrit-scm:
187           jenkins-ssh-credential: "{jenkins-ssh-credential}"
188           git-url: "{git-url}"
189           refspec: "$GERRIT_REFSPEC"
190           branch: "$GERRIT_BRANCH"
191           submodule-disable: true
192           submodule-recursive: false
193           submodule-timeout: 10
194           choosing-strategy: default
195
196     triggers:
197       - gerrit:
198           server-name: "{gerrit-server-name}"
199           trigger-on: "{obj:gerrit_merge_triggers}"
200           projects:
201             - project-compare-type: "ANT"
202               project-pattern: "{project-pattern}"
203               branches:
204                 - branch-compare-type: "ANT"
205                   branch-pattern: "**/master"
206               file-paths: "{obj:gerrit_trigger_file_paths}"