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: '/tmp/vpp-failed-unittests/*/* **/core'
45
46    build-discarder:
47      daysToKeep: '{build-days-to-keep}'
48      numToKeep: '{build-num-to-keep}'
49      artifactDaysToKeep: '{build-artifact-days-to-keep}'
50      artifactNumToKeep: '{build-artifact-num-to-keep}'
51
52    parameters:
53      - project-parameter:
54          project: '{project}'
55      - gerrit-parameter:
56          branch: '{branch}'
57      - os-parameter:
58          os: '{os}'
59      - repo-name-parameter:
60          repo-name: '{repo-stream-part}.{repo-os-part}'
61      - stream-parameter:
62          stream: '{stream}'
63      - string:
64          name: ARCHIVE_ARTIFACTS
65          default: '{archive-artifacts}'
66          description: Artifacts to archive to the logs server.
67
68    scm:
69      - gerrit-trigger-scm:
70          credentials-id: 'jenkins-gerrit-credentials'
71          refspec: '$GERRIT_REFSPEC'
72          choosing-strategy: 'gerrit'
73
74    wrappers:
75      - fdio-infra-wrappers:
76          build-timeout: '{build-timeout}'
77
78    triggers:
79      - gerrit-trigger-patch-submitted:
80          name: '{project}'
81          branch: '{branch}'
82
83    builders:
84      - lf-update-java-alternatives:
85          java-version: openjdk11
86      - shell:
87          !include-raw-escape:
88          - ../scripts/setup_jvpp_dev_env.sh
89          - include-raw-jvpp-build.sh
90
91    publishers:
92      - lf-infra-publish
93      - naginator:
94          rerun-unstable-builds: false
95          max-failed-builds: 2
96          fixed-delay: 90
97      - email-notification:
98          email-prefix: '[jvpp]'
99
100- job-template:
101    name: 'jvpp-merge-{stream}-{os}'
102
103    project-type: freestyle
104    node: '{os}-us'
105
106    build-discarder:
107      daysToKeep: '{build-days-to-keep}'
108      numToKeep: 100
109      artifactDaysToKeep: '{build-artifact-days-to-keep}'
110      artifactNumToKeep: '{build-artifact-num-to-keep}'
111
112    parameters:
113      - project-parameter:
114          project: '{project}'
115      - gerrit-parameter:
116          branch: '{branch}'
117      - os-parameter:
118          os: '{os}'
119      - maven-project-parameter:
120          maven: 'mvn36'
121      - maven-exec:
122          maven-version: 'mvn36'
123      - stream-parameter:
124          stream: '{stream}'
125      - repo-name-parameter:
126          repo-name: '{repo-stream-part}.{repo-os-part}'
127      - string:
128          name: ARCHIVE_ARTIFACTS
129          default: '{archive-artifacts}'
130          description: Artifacts to archive to the logs server.
131
132    scm:
133      - gerrit-trigger-scm:
134          credentials-id: 'jenkins-gerrit-credentials'
135          refspec: ''
136          choosing-strategy: 'default'
137
138    wrappers:
139      - fdio-infra-wrappers:
140          build-timeout: '{build-timeout}'
141
142    triggers:
143      - gerrit-trigger-patch-merged:
144          name: '{project}'
145          branch: '{branch}'
146      - reverse:
147          jobs: 'vpp-{vpp-job-prefix}merge-{stream}-{os}'
148          result: 'success'
149
150    builders:
151      - lf-update-java-alternatives:
152          java-version: openjdk11
153      - config-file-provider:
154          files:
155            - file-id: '.packagecloud'
156              target: '/root'
157      - config-file-provider:
158          files:
159            - file-id: 'packagecloud_api'
160              target: '/root'
161      - maven-target:
162          maven-version: 'mvn36'
163          goals: '--version'
164          settings: 'jvpp-settings'
165          settings-type: cfp
166          global-settings: 'global-settings'
167          global-settings-type: cfp
168      - shell:
169          !include-raw-escape:
170          - ../scripts/setup_jvpp_dev_env.sh
171          - include-raw-jvpp-build.sh
172      - provide-maven-settings:
173          settings-file: 'jvpp-settings'
174          global-settings-file: 'global-settings'
175      - shell:
176          !include-raw-escape:
177          - ./include-raw-jvpp-packetcloud-push.sh
178      - shell:
179          !include-raw-escape:
180          - ../scripts/maven_push_functions.sh
181          - include-raw-jvpp-maven-push.sh
182
183    publishers:
184      - lf-infra-publish
185      - naginator:
186          rerun-unstable-builds: false
187          max-failed-builds: 1
188          fixed-delay: 90
189      - email-notification:
190          email-prefix: '[jvpp]'
191
192- project:
193    name: jvpp-info
194    project-name: jvpp
195    jobs:
196      - gerrit-info-yaml-verify
197    build-node: centos7-builder-4c-4g
198    project: jvpp
199    branch: master
200