jvpp.yaml revision 96ca798f
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
218