hc2vpp.yaml revision e4ae1438
1---
2- project:
3    name: hc2vpp
4    jobs:
5      - 'hc2vpp-verify-{stream}-{os}'
6      - 'hc2vpp-merge-{stream}-{os}'
7      - 'hc2vpp-integration-{stream}-{os}'
8    project: 'hc2vpp'
9    os:
10      - ubuntu1804:
11          repo-os-part: 'ubuntu.bionic.main'
12          skip-site: 'false'
13          skip-jar-deploy: 'false'
14      - ubuntu1604:
15          repo-os-part: 'ubuntu.xenial.main'
16          skip-site: 'true'
17          skip-jar-deploy: 'true'
18      - centos7:
19          repo-os-part: 'centos7'
20          skip-site: 'true'
21          skip-jar-deploy: 'true'
22    stream:
23      - master:
24          branch: 'master'
25          repo-stream-part: 'master'
26      - '1807':
27          branch: 'stable/1807'
28          repo-stream-part: 'stable.1807'
29      - '1810':
30          branch: 'stable/1810'
31          repo-stream-part: 'stable.1810'
32      - '1901':
33          branch: 'stable/1901'
34          repo-stream-part: 'stable.1901'
35      - '1904':
36          branch: 'stable/1904'
37          repo-stream-part: 'stable.1904'
38
39- project:
40    name: hc2vpp-view
41    views:
42      - project-view
43    project-name: hc2vpp
44
45- job-template:
46    name: 'hc2vpp-verify-{stream}-{os}'
47    project-type: maven
48    node: '{os}-builder-4c-4g'
49    concurrent: true
50    jdk: openjdk8-{os}
51
52    build-discarder:
53      daysToKeep: '{build-days-to-keep}'
54      numToKeep: '{build-num-to-keep}'
55      artifactDaysToKeep: '{build-artifact-days-to-keep}'
56      artifactNumToKeep: '{build-artifact-num-to-keep}'
57
58    parameters:
59      - project-parameter:
60          project: '{project}'
61      - gerrit-parameter:
62          branch: '{branch}'
63      - os-parameter:
64          os: '{os}'
65
66    scm:
67      - gerrit-trigger-scm:
68          credentials-id: 'jenkins-gerrit-credentials'
69          refspec: '$GERRIT_REFSPEC'
70          choosing-strategy: 'gerrit'
71
72    wrappers:
73      - fdio-infra-wrappers:
74          build-timeout: '{build-timeout}'
75
76    triggers:
77      - gerrit-trigger-patch-submitted:
78          name: 'hc2vpp'
79          branch: '{branch}'
80
81    maven:
82      maven-name: 'mvn36'
83      root-pom: 'pom.xml'
84      # yamllint disable-line rule:line-length
85      goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge site'
86      maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
87      settings: 'hc2vpp-settings'
88      settings-type: cfp
89      global-settings: 'global-settings'
90      global-settings-type: cfp
91
92    publishers:
93      - email-notification:
94          email-prefix: '[hc2vpp]'
95      - fdio-infra-shiplogs:
96          maven-version: 'mvn36'
97
98- job-template:
99    name: 'hc2vpp-merge-{stream}-{os}'
100    project-type: maven
101    node: '{os}-builder-4c-4g'
102    jdk: openjdk8-{os}
103
104    build-discarder:
105      daysToKeep: '{build-days-to-keep}'
106      numToKeep: '{build-num-to-keep}'
107      artifactDaysToKeep: '{build-artifact-days-to-keep}'
108      artifactNumToKeep: '{build-artifact-num-to-keep}'
109
110    parameters:
111      - project-parameter:
112          project: '{project}'
113      - os-parameter:
114          os: '{os}'
115      - maven-project-parameter:
116          maven: 'mvn36'
117      - maven-exec:
118          maven-version: 'mvn36'
119      - repo-name-parameter:
120          repo-name: '{repo-stream-part}.{repo-os-part}'
121
122    scm:
123      - gerrit-trigger-scm:
124          credentials-id: 'jenkins-gerrit-credentials'
125          refspec: ''
126          choosing-strategy: 'default'
127
128    wrappers:
129      - ssh-agent-credentials:
130          users:
131            - 'jenkins-gerrit-credentials'
132      - fdio-infra-wrappers:
133          build-timeout: '{build-timeout}'
134
135    triggers:
136      - gerrit-trigger-patch-merged:
137          name: 'hc2vpp'
138          branch: '{branch}'
139
140    maven:
141      maven-name: 'mvn36'
142      root-pom: 'pom.xml'
143      # yamllint disable-line rule:line-length
144      goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge -Dsonar -Ddocs.hc.folder=io/fd/hc2vpp -Dmaven.site.skip={skip-site} site -Dmaven.site.deploy.skip={skip-site} site:deploy'
145      maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
146      settings: 'hc2vpp-settings'
147      settings-type: cfp
148      global-settings: 'global-settings'
149      global-settings-type: cfp
150
151    reporters:
152      - findbugs
153
154    publishers:
155      - sonar:
156          jdk: 'openjdk8-{os}'
157          language: 'java'
158          branch: '{stream}'
159      - email-notification:
160        email-prefix: '[hc2vpp]'
161      - fdio-infra-shiplogs:
162          maven-version: 'mvn36'
163
164- job-template:
165    name: 'hc2vpp-integration-{stream}-{os}'
166    project-type: maven
167    node: '{os}-builder-4c-4g'
168    jdk: openjdk8-{os}
169
170    build-discarder:
171      daysToKeep: '{build-days-to-keep}'
172      numToKeep: '{build-num-to-keep}'
173      artifactDaysToKeep: '{build-artifact-days-to-keep}'
174      artifactNumToKeep: '{build-artifact-num-to-keep}'
175
176    parameters:
177      - project-parameter:
178          project: '{project}'
179      - os-parameter:
180          os: '{os}'
181      - stream-parameter:
182          stream: '{stream}'
183      - maven-project-parameter:
184          maven: 'mvn36'
185      - maven-exec:
186          maven-version: 'mvn36'
187      - repo-name-parameter:
188          repo-name: '{repo-stream-part}.{repo-os-part}'
189      - string:
190          name: SKIP_JAR_DEPLOY
191          default: '{skip-jar-deploy}'
192          # yamllint disable-line rule:line-length
193          description: "Skips deployment of hc2vpp jars if variable is set to true"
194
195    scm:
196      - git-scm:
197          credentials-id: 'jenkins-gerrit-credentials'
198          refspec: ''
199          branch: '{branch}'
200
201    wrappers:
202      - ssh-agent-credentials:
203          users:
204            - 'jenkins-gerrit-credentials'
205      - fdio-infra-wrappers:
206          build-timeout: '{build-timeout}'
207
208    triggers:
209      - reverse:
210          jobs: 'jvpp-merge-{stream}-{os},hc2vpp-merge-{stream}-{os}'
211          result: 'success'
212
213    prebuilders:
214      - config-file-provider:
215          files:
216            - file-id: '.packagecloud'
217              target: '/home/jenkins'
218      - config-file-provider:
219          files:
220            - file-id: 'packagecloud_api'
221              target: '/home/jenkins'
222
223      - shell:
224          !include-raw-escape: include-raw-hc2vpp-integration-prebuild.sh
225    maven:
226      maven-name: 'mvn36'
227      root-pom: 'pom.xml'
228      # yamllint disable-line rule:line-length
229      goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  -Dmerge'
230      maven-opts: '-Xmx2048m -Dmaven.compile.fork=true'
231      settings: 'hc2vpp-settings'
232      settings-type: cfp
233      global-settings: 'global-settings'
234      global-settings-type: cfp
235
236    postbuilders:
237      - maven-target:
238          maven-version: 'mvn36'
239          goals: '--version'
240          settings: 'hc2vpp-settings'
241          settings-type: cfp
242          global-settings: 'global-settings'
243          global-settings-type: cfp
244      - provide-maven-settings:
245          settings-file: 'hc2vpp-settings'
246          global-settings-file: 'global-settings'
247      - shell:
248          !include-raw-escape:
249          - ../scripts/maven_push_functions.sh
250          - include-raw-hc2vpp-pkg-push.sh
251      - shell:
252          !include-raw-escape:
253          - ../scripts/packagecloud_push.sh
254    reporters:
255      - findbugs
256
257    publishers:
258      - email-notification:
259          email-prefix: '[hc2vpp]'
260      - maven-deploy:
261          id: ''
262          unique-version: true
263          deploy-unstable: false
264          release-env-var: SKIP_JAR_DEPLOY
265      - fdio-infra-shiplogs:
266          maven-version: 'mvn36'
267