Merge "Add terraform to docker CI executor images."
[ci-management.git] / jjb / udpi / udpi.yaml
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: 'builder-{os}-prod-x86_64'
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/.packagecloud'
96       - config-file-provider:
97           files:
98             - file-id: 'packagecloud_api'
99               target: '/root/packagecloud_api'
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-publish
108       - naginator:
109           rerun-unstable-builds: false
110           max-failed-builds: 1
111           fixed-delay: 90
112
113 - job-template:
114     name: 'udpi-merge-{stream}-{os}'
115
116     project-type: freestyle
117     node: 'builder-{os}-prod-x86_64'
118
119     build-discarder:
120       daysToKeep: '{build-days-to-keep}'
121       numToKeep: 100
122       artifactDaysToKeep: '{build-artifact-days-to-keep}'
123       artifactNumToKeep: '{build-artifact-num-to-keep}'
124
125     parameters:
126       - project-parameter:
127           project: '{project}'
128       - gerrit-parameter:
129           branch: '{branch}'
130       - os-parameter:
131           os: '{os}'
132       - stream-parameter:
133           stream: '{stream}'
134       - repo-name-parameter:
135           repo-name: '{repo-stream-part}.{repo-os-part}'
136       - string:
137           name: ARCHIVE_ARTIFACTS
138           default: '{archive-artifacts}'
139           description: Artifacts to archive to the logs server.
140
141     scm:
142       - gerrit-trigger-scm:
143           credentials-id: 'jenkins-gerrit-credentials'
144           refspec: ''
145           choosing-strategy: 'default'
146
147     wrappers:
148       - fdio-infra-wrappers:
149           build-timeout: '{build-timeout}'
150
151     triggers:
152       - gerrit-trigger-patch-merged:
153           name: '{project}'
154           branch: '{branch}'
155
156     builders:
157       - config-file-provider:
158           files:
159             - file-id: '.packagecloud'
160               target: '/root/.packagecloud'
161       - config-file-provider:
162           files:
163             - file-id: 'packagecloud_api'
164               target: '/root/packagecloud_api'
165       - shell:
166           !include-raw-escape: include-raw-udpi-checkstyle.sh
167       - shell:
168           !include-raw-escape:
169           - include-raw-udpi-build.sh
170       - shell:
171           !include-raw-escape:
172           - ../scripts/packagecloud_push.sh
173
174     publishers:
175       - fdio-infra-publish
176       - naginator:
177           rerun-unstable-builds: false
178           max-failed-builds: 1
179           fixed-delay: 90
180
181 - project:
182     name: udpi-info
183     project-name: udpi
184     jobs:
185       - gerrit-info-yaml-verify
186     build-node: centos7-builder-2c-2g
187     project: udpi
188     branch: master
189
190 - project:
191     name: udpi-sonar
192     project: udpi
193     project-name: udpi
194     mvn-settings: udpi-settings
195     sonarcloud: true
196     sonarcloud-project-organization: '{sonarcloud_project_organization}'
197     sonarcloud-api-token: '{sonarcloud_api_token}'
198     sonarcloud-project-key: '{sonarcloud_project_organization}_{project-name}'
199     branch: master
200     build-node: centos7-docker-2c-2g
201     jobs:
202       - gerrit-maven-sonar