sweetcomb.yaml revision 1b296343
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
270
271- project:
272    name: sweetcomb-info
273    project-name: sweetcomb
274    jobs:
275      - gerrit-info-yaml-verify
276    build-node: centos7-builder-4c-4g
277    project: sweetcomb
278    branch: master
279