Update the release job tigger
[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-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     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     gerrit-skip-vote: false
68
69     gerrit_verify_triggers:
70       - patchset-created-event:
71           exclude-drafts: true
72           exclude-trivial-rebase: false
73           exclude-no-code-change: false
74       - draft-published-event
75       - comment-added-contains-event:
76           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
77
78     #####################
79     # Job Configuration #
80     #####################
81
82     disabled: "{disable-job}"
83
84     builders:
85       - lf-infra-pre-build
86       - config-file-provider:
87           files:
88             - file-id: sigul-config
89               variable: SIGUL_CONFIG
90             - file-id: sigul-password
91               variable: SIGUL_PASSWORD
92             - file-id: sigul-pki
93               variable: SIGUL_PKI
94             - file-id: signing-pubkey
95               variable: SIGNING_PUBKEY
96       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
97       - shell: !include-raw-escape: ../shell/sigul-install.sh
98       - lf-release
99
100 - job-template:
101     name: "{project-name}-release-verify-{stream}"
102     id: gerrit-release-verify
103     <<: *lf_release_common
104     # yamllint disable-line rule:key-duplicates
105     <<: *lf_release_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-release-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}"
125               branches:
126                 - branch-compare-type: "ANT"
127                   branch-pattern: "**/{branch}"
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 # RELEASE MERGE #
137 #################
138
139 - lf_release_merge: &lf_release_merge
140     name: lf-release-merge
141
142     ######################
143     # Default parameters #
144     ######################
145
146     branch: master
147     stream: master
148     build-days-to-keep: 7
149     build-timeout: 15
150     disable-job: false
151     git-url: "$GIT_URL/$PROJECT"
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             - file-id: signing-pubkey
175               variable: SIGNING_PUBKEY
176       - shell: !include-raw-escape: ../shell/sigul-configuration.sh
177       - shell: !include-raw-escape: ../shell/sigul-install.sh
178       - lf-release
179
180 - job-template:
181     name: "{project-name}-release-merge-{stream}"
182     id: gerrit-release-merge
183     <<: *lf_release_common
184     # yamllint disable-line rule:key-duplicates
185     <<: *lf_release_merge
186
187     scm:
188       - lf-infra-gerrit-scm:
189           jenkins-ssh-credential: "{jenkins-ssh-release-credential}"
190           git-url: "{git-url}"
191           refspec: "$GERRIT_REFSPEC"
192           branch: "$GERRIT_BRANCH"
193           submodule-disable: true
194           submodule-recursive: false
195           submodule-timeout: 10
196           choosing-strategy: default
197
198     triggers:
199       - gerrit:
200           server-name: "{gerrit-server-name}"
201           trigger-on: "{obj:gerrit_merge_triggers}"
202           projects:
203             - project-compare-type: "ANT"
204               project-pattern: "{project}"
205               branches:
206                 - branch-compare-type: "ANT"
207                   branch-pattern: "**/{branch}"
208               file-paths: "{obj:gerrit_trigger_file_paths}"