Merge "Add INFO.yaml verify job"
[ci-management.git] / jjb / jvpp / jvpp.yaml
1 ---
2 - project:
3     name: jvpp
4     jobs:
5       - 'jvpp-verify-{stream}-{os}'
6       - 'jvpp-merge-{stream}-{os}'
7     project: 'jvpp'
8     os:
9       - ubuntu1604:
10           repo-os-part: 'ubuntu.xenial.main'
11           skip-site: 'false'
12           skip-jar-deploy: 'true'
13           vpp-job-prefix: ''
14       - ubuntu1804:
15           repo-os-part: 'ubuntu.bionic.main'
16           skip-site: 'false'
17           skip-jar-deploy: 'false'
18           vpp-job-prefix: 'beta-'
19       - centos7:
20           repo-os-part: 'centos7'
21           skip-site: 'true'
22           skip-jar-deploy: 'true'
23           vpp-job-prefix: ''
24     stream:
25       - master:
26           branch: 'master'
27           repo-stream-part: 'master'
28       - '1904':
29           branch: 'stable/1904'
30           repo-stream-part: 'stable.1904'
31
32 - project:
33     name: jvpp-view
34     views:
35       - project-view
36     project-name: jvpp
37
38 - job-template:
39     name: 'jvpp-verify-{stream}-{os}'
40
41     project-type: freestyle
42     node: '{os}-us'
43     concurrent: true
44     archive-artifacts: >
45       **/build-root/packages/*.rpm
46       **/build-root/packages/*.deb
47       **/tmp/jvpp-failed-unittests/*/* **/core
48     allow-empty: 'true'
49     fingerprint: false
50     only-if-success: true
51     default-excludes: false
52
53
54     build-discarder:
55       daysToKeep: '{build-days-to-keep}'
56       numToKeep: '{build-num-to-keep}'
57       artifactDaysToKeep: '{build-artifact-days-to-keep}'
58       artifactNumToKeep: '{build-artifact-num-to-keep}'
59
60     parameters:
61       - project-parameter:
62           project: '{project}'
63       - gerrit-parameter:
64           branch: '{branch}'
65       - os-parameter:
66           os: '{os}'
67       - repo-name-parameter:
68           repo-name: '{repo-stream-part}.{repo-os-part}'
69       - stream-parameter:
70           stream: '{stream}'
71       - string:
72           name: ARCHIVE_ARTIFACTS
73           default: '{archive-artifacts}'
74           description: Artifacts to archive to the logs server.
75
76     scm:
77       - gerrit-trigger-scm:
78           credentials-id: 'jenkins-gerrit-credentials'
79           refspec: '$GERRIT_REFSPEC'
80           choosing-strategy: 'gerrit'
81
82     wrappers:
83       - fdio-infra-wrappers:
84           build-timeout: '{build-timeout}'
85
86     triggers:
87       - gerrit-trigger-patch-submitted:
88           name: '{project}'
89           branch: '{branch}'
90
91     builders:
92       - lf-update-java-alternatives:
93           java-version: openjdk11
94       - shell:
95           !include-raw-escape:
96           - ../scripts/setup_jvpp_dev_env.sh
97           - include-raw-jvpp-build.sh
98
99     publishers:
100       - fdio-infra-shiplogs:
101           maven-version: 'mvn36'
102       - naginator:
103           rerun-unstable-builds: false
104           max-failed-builds: 2
105           fixed-delay: 90
106       - email-notification:
107           email-prefix: '[jvpp]'
108
109 - job-template:
110     name: 'jvpp-merge-{stream}-{os}'
111
112     project-type: freestyle
113     node: '{os}-us'
114     archive-artifacts: >
115       **/build-root/packages/*.rpm
116       **/build-root/packages/*.deb
117     allow-empty: 'true'
118     fingerprint: false
119     only-if-success: true
120     default-excludes: false
121
122
123     build-discarder:
124       daysToKeep: '{build-days-to-keep}'
125       numToKeep: 100
126       artifactDaysToKeep: '{build-artifact-days-to-keep}'
127       artifactNumToKeep: '{build-artifact-num-to-keep}'
128
129     parameters:
130       - project-parameter:
131           project: '{project}'
132       - gerrit-parameter:
133           branch: '{branch}'
134       - os-parameter:
135           os: '{os}'
136       - maven-project-parameter:
137           maven: 'mvn36'
138       - maven-exec:
139           maven-version: 'mvn36'
140       - stream-parameter:
141           stream: '{stream}'
142       - repo-name-parameter:
143           repo-name: '{repo-stream-part}.{repo-os-part}'
144       - string:
145           name: ARCHIVE_ARTIFACTS
146           default: '{archive-artifacts}'
147           description: Artifacts to archive to the logs server.
148
149     scm:
150       - gerrit-trigger-scm:
151           credentials-id: 'jenkins-gerrit-credentials'
152           refspec: ''
153           choosing-strategy: 'default'
154
155     wrappers:
156       - fdio-infra-wrappers:
157           build-timeout: '{build-timeout}'
158
159     triggers:
160       - gerrit-trigger-patch-merged:
161           name: '{project}'
162           branch: '{branch}'
163       - reverse:
164           jobs: 'vpp-{vpp-job-prefix}merge-{stream}-{os}'
165           result: 'success'
166
167     builders:
168       - lf-update-java-alternatives:
169           java-version: openjdk11
170       - config-file-provider:
171           files:
172             - file-id: '.packagecloud'
173               target: '/root'
174       - config-file-provider:
175           files:
176             - file-id: 'packagecloud_api'
177               target: '/root'
178       - maven-target:
179           maven-version: 'mvn36'
180           goals: '--version'
181           settings: 'jvpp-settings'
182           settings-type: cfp
183           global-settings: 'global-settings'
184           global-settings-type: cfp
185       - shell:
186           !include-raw-escape:
187           - ../scripts/setup_jvpp_dev_env.sh
188           - include-raw-jvpp-build.sh
189       - provide-maven-settings:
190           settings-file: 'jvpp-settings'
191           global-settings-file: 'global-settings'
192       - shell:
193           !include-raw-escape:
194           - ./include-raw-jvpp-packetcloud-push.sh
195       - shell:
196           !include-raw-escape:
197           - ../scripts/maven_push_functions.sh
198           - include-raw-jvpp-maven-push.sh
199
200     publishers:
201       - fdio-infra-shiplogs:
202           maven-version: 'mvn36'
203       - naginator:
204           rerun-unstable-builds: false
205           max-failed-builds: 1
206           fixed-delay: 90
207       - email-notification:
208           email-prefix: '[jvpp]'
209
210 - project:
211     name: jvpp-info
212     project-name: jvpp
213     jobs:
214       - gerrit-info-yaml-verify
215     build-node: centos7-builder-4c-4g
216     project: jvpp
217     branch: master