Add {stream} to releases jobs
[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_releases_common: &lf_releases_common
15     name: lf-releases-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_releases_verify: &lf_releases_verify
55     name: lf-releases-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     #####################
81     # Job Configuration #
82     #####################
83
84     disabled: '{disable-job}'
85
86     builders:
87       - lf-infra-pre-build
88       - config-file-provider:
89           files:
90             - file-id: sigul-config
91               variable: SIGUL_CONFIG
92             - file-id: sigul-password
93               variable: SIGUL_PASSWORD
94             - file-id: sigul-pki
95               variable: SIGUL_PKI
96       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
97       - shell: !include-raw-escape: ../shell/sigul-install.sh
98       - lf-releases
99
100 - job-template:
101     name: '{project-name}-releases-verify-{stream}'
102     id: gerrit-releases-verify
103     <<: *lf_releases_common
104     # yamllint disable-line rule:key-duplicates
105     <<: *lf_releases_verify
106
107     scm:
108       - lf-infra-gerrit-scm:
109           git-url: '{git-url}'
110           refspec: '$GERRIT_REFSPEC'
111           branch: 'master'
112           submodule-disable: true
113           submodule-recursive: false
114           submodule-timeout: 10
115           choosing-strategy: gerrit
116           jenkins-ssh-credential: '{jenkins-ssh-credential}'
117
118     triggers:
119       - gerrit:
120           server-name: '{gerrit-server-name}'
121           trigger-on: '{obj:gerrit_verify_triggers}'
122           projects:
123             - project-compare-type: 'ANT'
124               project-pattern: '{project-pattern}'
125               branches:
126                 - branch-compare-type: 'ANT'
127                   branch-pattern: '**/master'
128               file-paths: '{obj:gerrit_trigger_file_paths}'
129           skip-vote:
130             successful: '{gerrit-skip-vote}'
131             failed: '{gerrit-skip-vote}'
132             unstable: '{gerrit-skip-vote}'
133             notbuilt: '{gerrit-skip-vote}'
134
135
136 #################
137 # RELEASE MERGE #
138 #################
139
140 - lf_releases_merge: &lf_releases_merge
141     name: lf-releases-merge
142
143     ######################
144     # Default parameters #
145     ######################
146
147     branch: master
148     stream: master
149     build-days-to-keep: 7
150     build-timeout: 15
151     disable-job: false
152     project-pattern: '**'
153
154     gerrit_merge_triggers:
155       - change-merged-event
156       - comment-added-contains-event:
157           comment-contains-value: remerge$
158
159     #####################
160     # Job Configuration #
161     #####################
162
163     disabled: '{disable-job}'
164
165     builders:
166       - lf-infra-pre-build
167       - config-file-provider:
168           files:
169             - file-id: sigul-config
170               variable: SIGUL_CONFIG
171             - file-id: sigul-password
172               variable: SIGUL_PASSWORD
173             - file-id: sigul-pki
174               variable: SIGUL_PKI
175       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
176       - shell: !include-raw-escape: ../shell/sigul-install.sh
177       - lf-releases
178
179 - job-template:
180     name: '{project-name}-releases-merge-{stream}'
181     id: gerrit-releases-merge
182     <<: *lf_releases_common
183     # yamllint disable-line rule:key-duplicates
184     <<: *lf_releases_merge
185
186     scm:
187       - lf-infra-gerrit-scm:
188           jenkins-ssh-credential: '{jenkins-ssh-credential}'
189           git-url: '{git-url}'
190           refspec: '$GERRIT_REFSPEC'
191           branch: '$GERRIT_BRANCH'
192           submodule-disable: true
193           submodule-recursive: false
194           submodule-timeout: 10
195           choosing-strategy: default
196
197     triggers:
198       - gerrit:
199           server-name: '{gerrit-server-name}'
200           trigger-on: '{obj:gerrit_merge_triggers}'
201           projects:
202             - project-compare-type: 'ANT'
203               project-pattern: '{project-pattern}'
204               branches:
205                 - branch-compare-type: 'ANT'
206                   branch-pattern: '**/master'
207               file-paths: '{obj:gerrit_trigger_file_paths}'