1---
2#########################################################################
3#
4# Copyright (c) 2019 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: udpi
20    jobs:
21      - 'udpi-verify-{stream}-{os}'
22      - 'udpi-merge-{stream}-{os}'
23
24    project: 'udpi'
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      - '2001':
35          branch: 'stable/2001'
36          repo-stream-part: 'stable.2001'
37
38- project:
39    name: udpi-view
40    views:
41      - project-view
42    project-name: udpi
43
44- job-template:
45    name: 'udpi-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      - string:
69          name: ARCHIVE_ARTIFACTS
70          default: '{archive-artifacts}'
71          description: Artifacts to archive to the logs server.
72
73    scm:
74      - gerrit-trigger-scm:
75          credentials-id: 'jenkins-gerrit-credentials'
76          refspec: '$GERRIT_REFSPEC'
77          choosing-strategy: 'gerrit'
78
79    wrappers:
80      - fdio-infra-wrappers:
81          build-timeout: 120
82
83    triggers:
84      - gerrit-trigger-checkstyle:
85          name: '{project}'
86          branch: '{branch}'
87      - gerrit-trigger-patch-submitted:
88          name: '{project}'
89          branch: '{branch}'
90
91    builders:
92      - config-file-provider:
93          files:
94            - file-id: '.packagecloud'
95              target: '/root'
96      - config-file-provider:
97          files:
98            - file-id: 'packagecloud_api'
99              target: '/root'
100      - shell:
101          !include-raw-escape: include-raw-udpi-checkstyle.sh
102      - shell:
103          !include-raw-escape:
104          - include-raw-udpi-build.sh
105
106    publishers:
107      - fdio-infra-shiplogs:
108            maven-version: 'mvn36'
109      - naginator:
110          rerun-unstable-builds: false
111          max-failed-builds: 1
112          fixed-delay: 90
113
114- job-template:
115    name: 'udpi-merge-{stream}-{os}'
116
117    project-type: freestyle
118    node: '{os}-us'
119
120    build-discarder:
121      daysToKeep: '{build-days-to-keep}'
122      numToKeep: 100
123      artifactDaysToKeep: '{build-artifact-days-to-keep}'
124      artifactNumToKeep: '{build-artifact-num-to-keep}'
125
126    parameters:
127      - project-parameter:
128          project: '{project}'
129      - gerrit-parameter:
130          branch: '{branch}'
131      - os-parameter:
132          os: '{os}'
133      - stream-parameter:
134          stream: '{stream}'
135      - repo-name-parameter:
136          repo-name: '{repo-stream-part}.{repo-os-part}'
137      - string:
138          name: ARCHIVE_ARTIFACTS
139          default: '{archive-artifacts}'
140          description: Artifacts to archive to the logs server.
141
142    scm:
143      - gerrit-trigger-scm:
144          credentials-id: 'jenkins-gerrit-credentials'
145          refspec: ''
146          choosing-strategy: 'default'
147
148    wrappers:
149      - fdio-infra-wrappers:
150          build-timeout: '{build-timeout}'
151
152    triggers:
153      - gerrit-trigger-patch-merged:
154          name: '{project}'
155          branch: '{branch}'
156
157    builders:
158      - config-file-provider:
159          files:
160            - file-id: '.packagecloud'
161              target: '/root'
162      - config-file-provider:
163          files:
164            - file-id: 'packagecloud_api'
165              target: '/root'
166      - shell:
167          !include-raw-escape: include-raw-udpi-checkstyle.sh
168      - shell:
169          !include-raw-escape:
170          - include-raw-udpi-build.sh
171      - shell:
172          !include-raw-escape:
173          - ../scripts/packagecloud_push.sh
174
175    publishers:
176      - fdio-infra-shiplogs:
177            maven-version: 'mvn36'
178      - naginator:
179          rerun-unstable-builds: false
180          max-failed-builds: 1
181          fixed-delay: 90
182
183- project:
184    name: udpi-info
185    project-name: udpi
186    jobs:
187      - gerrit-info-yaml-verify
188    build-node: centos7-builder-4c-4g
189    project: udpi
190    branch: master
191