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