Merge "Add lf-update-java-alternatives from global-jjb"
[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
24     project: 'sweetcomb'
25     os:
26       - ubuntu1604:
27           repo-os-part: 'ubuntu.xenial.main'
28       - centos7:
29           repo-os-part: 'centos7'
30     stream:
31       - master:
32           branch: 'master'
33           repo-stream-part: 'master'
34       - '1901':
35           branch: 'stable/1901'
36           repo-stream-part: 'stable.1901'
37
38 - project:
39     name: sweetcomb-view
40     views:
41       - project-view
42     project-name: sweetcomb
43
44 - job-template:
45     name: 'sweetcomb-verify-{stream}-{os}'
46
47     project-type: freestyle
48     node: '{os}-us'
49     concurrent: true
50
51     build-discarder:
52       daysToKeep: '{build-days-to-keep}'
53       numToKeep: 100
54       artifactDaysToKeep: '{build-artifact-days-to-keep}'
55       artifactNumToKeep: '{build-artifact-num-to-keep}'
56
57     parameters:
58       - project-parameter:
59           project: '{project}'
60       - gerrit-parameter:
61           branch: '{branch}'
62       - os-parameter:
63           os: '{os}'
64       - repo-name-parameter:
65           repo-name: '{repo-stream-part}.{repo-os-part}'
66       - stream-parameter:
67           stream: '{stream}'
68
69     scm:
70       - gerrit-trigger-scm:
71           credentials-id: 'jenkins-gerrit-credentials'
72           refspec: '$GERRIT_REFSPEC'
73           choosing-strategy: 'gerrit'
74
75     wrappers:
76       - fdio-infra-wrappers:
77           build-timeout: 120
78
79     triggers:
80       - gerrit-trigger-checkstyle:
81           name: '{project}'
82           branch: '{branch}'
83       - gerrit-trigger-patch-submitted:
84           name: '{project}'
85           branch: '{branch}'
86
87     builders:
88       - config-file-provider:
89           files:
90             - file-id: '.packagecloud'
91               target: '/root'
92       - config-file-provider:
93           files:
94             - file-id: 'packagecloud_api'
95               target: '/root'
96       - shell:
97           !include-raw-escape: include-raw-sweetcomb-checkstyle.sh
98       - shell:
99           !include-raw-escape:
100           - include-raw-sweetcomb-build.sh
101     publishers:
102       - archive:
103           artifacts: >
104             **/build-root/build-package/*.rpm,
105             **/build-root/build-package/*.deb,
106           allow-empty: 'true'
107           fingerprint: false
108           only-if-success: true
109           default-excludes: false
110       - fdio-infra-shiplogs:
111           maven-version: 'mvn33-new'
112       - naginator:
113           rerun-unstable-builds: false
114           max-failed-builds: 1
115           fixed-delay: 90
116
117     publishers:
118       - fdio-infra-shiplogs:
119           maven-version: 'mvn33-new'
120
121 - job-template:
122     name: 'sweetcomb-merge-{stream}-{os}'
123
124     project-type: freestyle
125     node: '{os}-us'
126
127     build-discarder:
128       daysToKeep: '{build-days-to-keep}'
129       numToKeep: 100
130       artifactDaysToKeep: '{build-artifact-days-to-keep}'
131       artifactNumToKeep: '{build-artifact-num-to-keep}'
132
133     parameters:
134       - project-parameter:
135           project: '{project}'
136       - gerrit-parameter:
137           branch: '{branch}'
138       - os-parameter:
139           os: '{os}'
140       - stream-parameter:
141           stream: '{stream}'
142       - repo-name-parameter:
143           repo-name: '{repo-stream-part}.{repo-os-part}'
144
145     scm:
146       - gerrit-trigger-scm:
147           credentials-id: 'jenkins-gerrit-credentials'
148           refspec: ''
149           choosing-strategy: 'default'
150
151     wrappers:
152       - fdio-infra-wrappers:
153           build-timeout: '{build-timeout}'
154
155     triggers:
156       - gerrit-trigger-patch-merged:
157           name: '{project}'
158           branch: '{branch}'
159
160     builders:
161       - config-file-provider:
162           files:
163             - file-id: '.packagecloud'
164               target: '/root'
165       - config-file-provider:
166           files:
167             - file-id: 'packagecloud_api'
168               target: '/root'
169       - shell:
170           !include-raw-escape: include-raw-sweetcomb-checkstyle.sh
171       - shell:
172           !include-raw-escape:
173           - include-raw-sweetcomb-build.sh
174       - shell:
175           !include-raw-escape:
176           - ../scripts/packagecloud_push.sh
177     publishers:
178       - archive:
179           artifacts: >
180             **/build-root/build-package/*.rpm,
181             **/build-root/build-package/*.deb,
182           allow-empty: 'true'
183           fingerprint: false
184           only-if-success: true
185           default-excludes: false
186       - fdio-infra-shiplogs:
187           maven-version: 'mvn33-new'
188       - naginator:
189           rerun-unstable-builds: false
190           max-failed-builds: 1
191           fixed-delay: 90