2f27442d37bcc7abdc858038a790eb5f18b85e5a
[ci-management.git] / jjb / sweetcomb / sweetcomb.yaml
1 ---
2 #########################################################################
3 #
4 # Copyright (c) 2018 Intel and/or its affiliates.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at:
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #########################################################################
17
18 - project:
19     name: sweetcomb
20     jobs:
21       - 'sweetcomb-verify-{stream}-{os}'
22       - 'sweetcomb-merge-{stream}-{os}'
23       #- 'sweetcomb-test-{stream}-ubuntu1604'
24
25     project: 'sweetcomb'
26     os:
27       - ubuntu1604:
28           repo-os-part: 'ubuntu.xenial.main'
29       - centos7:
30           repo-os-part: 'centos7'
31     stream:
32       - master:
33           branch: 'master'
34           repo-stream-part: 'master'
35       - '1904':
36           branch: 'stable/1904'
37           repo-stream-part: 'stable.1904'
38       - '1901':
39           branch: 'stable/1901'
40           repo-stream-part: 'stable.1901'
41       - vom:
42           branch: 'vom'
43           repo-stream-part: 'vom'
44
45 - project:
46     name: sweetcomb-view
47     views:
48       - project-view
49     project-name: sweetcomb
50
51 - job-template:
52     name: 'sweetcomb-verify-{stream}-{os}'
53
54     project-type: freestyle
55     node: '{os}-us'
56     concurrent: true
57
58     build-discarder:
59       daysToKeep: '{build-days-to-keep}'
60       numToKeep: 100
61       artifactDaysToKeep: '{build-artifact-days-to-keep}'
62       artifactNumToKeep: '{build-artifact-num-to-keep}'
63
64       archive-artifacts: >
65           **/build-root/build-package/*.rpm
66           **/build-root/build-package/*.deb
67       allow-empty: 'true'
68       fingerprint: false
69       only-if-success: true
70       default-excludes: false
71
72     parameters:
73       - project-parameter:
74           project: '{project}'
75       - gerrit-parameter:
76           branch: '{branch}'
77       - os-parameter:
78           os: '{os}'
79       - repo-name-parameter:
80           repo-name: '{repo-stream-part}.{repo-os-part}'
81       - stream-parameter:
82           stream: '{stream}'
83       - string:
84           name: ARCHIVE_ARTIFACTS
85           default: '{archive-artifacts}'
86           description: Artifacts to archive to the logs server.
87
88     scm:
89       - gerrit-trigger-scm:
90           credentials-id: 'jenkins-gerrit-credentials'
91           refspec: '$GERRIT_REFSPEC'
92           choosing-strategy: 'gerrit'
93
94     wrappers:
95       - fdio-infra-wrappers:
96           build-timeout: 120
97
98     triggers:
99       - gerrit-trigger-checkstyle:
100           name: '{project}'
101           branch: '{branch}'
102       - gerrit-trigger-patch-submitted:
103           name: '{project}'
104           branch: '{branch}'
105
106     builders:
107       - config-file-provider:
108           files:
109             - file-id: '.packagecloud'
110               target: '/root'
111       - config-file-provider:
112           files:
113             - file-id: 'packagecloud_api'
114               target: '/root'
115       - shell:
116           !include-raw-escape: include-raw-sweetcomb-checkstyle.sh
117       - shell:
118           !include-raw-escape:
119           - include-raw-sweetcomb-build.sh
120     publishers:
121       - fdio-infra-shiplogs:
122           maven-version: 'mvn33-new'
123       - naginator:
124           rerun-unstable-builds: false
125           max-failed-builds: 1
126           fixed-delay: 90
127
128 - job-template:
129     name: 'sweetcomb-merge-{stream}-{os}'
130
131     project-type: freestyle
132     node: '{os}-us'
133
134     build-discarder:
135       daysToKeep: '{build-days-to-keep}'
136       numToKeep: 100
137       artifactDaysToKeep: '{build-artifact-days-to-keep}'
138       artifactNumToKeep: '{build-artifact-num-to-keep}'
139
140     archive-artifacts: >
141         **/build-root/build-package/*.rpm
142         **/build-root/build-package/*.deb
143     allow-empty: 'true'
144     fingerprint: false
145     only-if-success: true
146     default-excludes: false
147
148     parameters:
149       - project-parameter:
150           project: '{project}'
151       - gerrit-parameter:
152           branch: '{branch}'
153       - os-parameter:
154           os: '{os}'
155       - stream-parameter:
156           stream: '{stream}'
157       - repo-name-parameter:
158           repo-name: '{repo-stream-part}.{repo-os-part}'
159       - string:
160           name: ARCHIVE_ARTIFACTS
161           default: '{archive-artifacts}'
162           description: Artifacts to archive to the logs server.
163
164     scm:
165       - gerrit-trigger-scm:
166           credentials-id: 'jenkins-gerrit-credentials'
167           refspec: ''
168           choosing-strategy: 'default'
169
170     wrappers:
171       - fdio-infra-wrappers:
172           build-timeout: '{build-timeout}'
173
174     triggers:
175       - gerrit-trigger-patch-merged:
176           name: '{project}'
177           branch: '{branch}'
178
179     builders:
180       - config-file-provider:
181           files:
182             - file-id: '.packagecloud'
183               target: '/root'
184       - config-file-provider:
185           files:
186             - file-id: 'packagecloud_api'
187               target: '/root'
188       - shell:
189           !include-raw-escape: include-raw-sweetcomb-checkstyle.sh
190       - shell:
191           !include-raw-escape:
192           - include-raw-sweetcomb-build.sh
193       - shell:
194           !include-raw-escape:
195           - ../scripts/packagecloud_push.sh
196     publishers:
197       - fdio-infra-shiplogs:
198           maven-version: 'mvn33-new'
199       - naginator:
200           rerun-unstable-builds: false
201           max-failed-builds: 1
202           fixed-delay: 90
203
204 - job-template:
205     name: 'sweetcomb-test-{stream}-ubuntu1604'
206
207     project-type: freestyle
208     node: 'ubuntu1604-us'
209     concurrent: true
210
211     build-discarder:
212       daysToKeep: '{build-days-to-keep}'
213       numToKeep: 100
214       artifactDaysToKeep: '{build-artifact-days-to-keep}'
215       artifactNumToKeep: '{build-artifact-num-to-keep}'
216
217     archive-artifacts: >
218     allow-empty: 'true'
219     fingerprint: false
220     only-if-success: true
221     default-excludes: false
222
223     parameters:
224       - project-parameter:
225           project: '{project}'
226       - gerrit-parameter:
227           branch: '{branch}'
228       - os-parameter:
229           os: 'ubuntu1604'
230       - repo-name-parameter:
231           repo-name: '{repo-stream-part}.ubuntu.xenial.main'
232       - stream-parameter:
233           stream: '{stream}'
234
235     scm:
236       - gerrit-trigger-scm:
237           credentials-id: 'jenkins-gerrit-credentials'
238           refspec: '$GERRIT_REFSPEC'
239           choosing-strategy: 'gerrit'
240
241     wrappers:
242       - fdio-infra-wrappers:
243           build-timeout: 120
244
245     triggers:
246       - gerrit-trigger-patch-submitted:
247           name: '{project}'
248           branch: '{branch}'
249
250     builders:
251       - config-file-provider:
252           files:
253             - file-id: '.packagecloud'
254               target: '/root'
255       - config-file-provider:
256           files:
257             - file-id: 'packagecloud_api'
258               target: '/root'
259       - shell:
260           !include-raw-escape:
261           - include-raw-sweetcomb-build.sh
262           - include-raw-sweetcomb-test.sh
263     publishers:
264       - fdio-infra-shiplogs:
265           maven-version: 'mvn33-new'
266       - naginator:
267           rerun-unstable-builds: false
268           max-failed-builds: 1
269           fixed-delay: 90