hicn.yaml revision af589f55
1---
2- project:
3    name: hicn
4    jobs:
5      - 'hicn-verify-{stream}-{os}'
6      - 'hicn-merge-{stream}-{os}'
7
8    project: 'hicn'
9    os:
10      - ubuntu1804:
11          repo-os-part: 'ubuntu.bionic.main'
12      - ubuntu1604:
13          repo-os-part: 'ubuntu.xenial.main'
14      - centos7:
15          repo-os-part: 'centos7'
16
17    stream:
18      - master:
19          branch: 'master'
20          repo-stream-part: 'master'
21
22    type:
23      - short
24      - long
25
26- project:
27    name: hicn-misc
28    jobs:
29      - 'hicn-checkstyle-verify-{stream}'
30    project: 'hicn'
31    stream:
32      - master:
33          branch: 'master'
34          repo-stream-part: 'master'
35    os: ubuntu1604
36
37- project:
38    name: hicn-sysrepo
39    jobs:
40      - 'hicn-sysrepo-plugin-verify-{stream}'
41      - 'hicn-sysrepo-plugin-merge-{stream}'
42    project: 'hicn'
43    stream:
44      - master:
45          branch: 'master'
46          repo-stream-part: 'master'
47    os: ubuntu1804
48
49- project:
50    name: hicn-view
51    views:
52      - project-view
53    project-name: hicn
54
55- job-template:
56    name: 'hicn-checkstyle-verify-{stream}'
57
58    project-type: freestyle
59    node: '{os}-us'
60    concurrent: true
61    archive-artifacts: '**/tmp/hicn-failed-unittests/*/* **/core'
62
63    build-discarder:
64      daysToKeep: '{build-days-to-keep}'
65      numToKeep: '{build-num-to-keep}'
66      artifactDaysToKeep: '{build-artifact-days-to-keep}'
67      artifactNumToKeep: '{build-artifact-num-to-keep}'
68
69    parameters:
70      - project-parameter:
71          project: '{project}'
72      - gerrit-parameter:
73          branch: '{branch}'
74      - os-parameter:
75          os: '{os}'
76      - repo-name-parameter:
77          repo-name: '{repo-stream-part}.ubuntu.xenial.main'
78      - string:
79          name: ARCHIVE_ARTIFACTS
80          default: '{archive-artifacts}'
81          description: Artifacts to archive to the logs server.
82
83    scm:
84      - gerrit-trigger-scm:
85          credentials-id: 'jenkins-gerrit-credentials'
86          refspec: '$GERRIT_REFSPEC'
87          choosing-strategy: 'gerrit'
88
89    wrappers:
90      - fdio-infra-wrappers:
91          build-timeout: '{build-timeout}'
92
93    triggers:
94      - gerrit:
95          server-name: 'Primary'
96          trigger-on:
97            - patchset-created-event:
98                exclude-drafts: 'true'
99                exclude-trivial-rebase: 'false'
100                exclude-no-code-change: 'true'
101            - draft-published-event
102            - comment-added-contains-event:
103                comment-contains-value: 'checkstylecheck'
104            - comment-added-contains-event:
105                comment-contains-value: 'docsonly'
106            - comment-added-contains-event:
107                comment-contains-value: 'recheck'
108            - comment-added-contains-event:
109                comment-contains-value: 'reverify'
110          projects:
111            - project-compare-type: 'ANT'
112              project-pattern: '{project}'
113              branches:
114                - branch-compare-type: 'ANT'
115                  branch-pattern: '**/{branch}'
116              file-paths:
117                - compare-type: REG_EXP
118                  pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
119              disable-strict-forbidden-file-verification: 'true'
120          override-votes: true
121          gerrit-build-notbuilt-verified-value: 0
122          gerrit-build-successful-verified-value: 1
123          # yamllint disable-line rule:line-length
124          notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
125          # yamllint disable-line rule:line-length
126          failed-message: 'Checkstyle failed. No further verify jobs will be started.'
127          successful-message: 'checkstyle_success'
128          skip-vote:
129            successful: true
130            failed: false
131            unstable: false
132            notbuilt: false
133
134    builders:
135      - shell:
136          !include-raw-escape: include-raw-hicn-checkstyle.sh
137
138    publishers:
139      - lf-infra-publish
140      - naginator:
141          rerun-unstable-builds: true
142          max-failed-builds: 1
143          fixed-delay: 90
144
145- job-template:
146    name: 'hicn-verify-{stream}-{os}'
147
148    project-type: freestyle
149    node: '{os}-us'
150    concurrent: true
151    archive-artifacts: >
152      **/build/*.rpm,
153      **/build/*.deb
154    allow-empty: 'true'
155    fingerprint: false
156    only-if-success: true
157    default-excludes: false
158
159    build-discarder:
160      daysToKeep: '{build-days-to-keep}'
161      numToKeep: 100
162      artifactDaysToKeep: '{build-artifact-days-to-keep}'
163      artifactNumToKeep: '{build-artifact-num-to-keep}'
164
165    parameters:
166      - project-parameter:
167          project: '{project}'
168      - gerrit-parameter:
169          branch: '{branch}'
170      - os-parameter:
171          os: '{os}'
172      - repo-name-parameter:
173          repo-name: '{repo-stream-part}.{repo-os-part}'
174      - stream-parameter:
175          stream: '{stream}'
176      - string:
177          name: ARCHIVE_ARTIFACTS
178          default: '{archive-artifacts}'
179          description: Artifacts to archive to the logs server.
180
181    scm:
182      - gerrit-trigger-scm:
183          credentials-id: 'jenkins-gerrit-credentials'
184          refspec: '$GERRIT_REFSPEC'
185          choosing-strategy: 'gerrit'
186
187    wrappers:
188      - fdio-infra-wrappers:
189          build-timeout: 120
190
191    triggers:
192      - gerrit-trigger-checkstyle:
193          name: '{project}'
194          branch: '{branch}'
195
196    builders:
197      - shell:
198          !include-raw-escape:
199          - include-raw-hicn-build.sh
200
201    publishers:
202      - lf-infra-publish
203
204- job-template:
205    name: 'hicn-merge-{stream}-{os}'
206
207    project-type: freestyle
208    node: '{os}-us'
209    archive-artifacts: >
210      **/build/*.rpm,
211      **/build/*.deb
212    allow-empty: 'true'
213    fingerprint: false
214    only-if-success: true
215    default-excludes: false
216
217    build-discarder:
218      daysToKeep: '{build-days-to-keep}'
219      numToKeep: 100
220      artifactDaysToKeep: '{build-artifact-days-to-keep}'
221      artifactNumToKeep: '{build-artifact-num-to-keep}'
222
223    parameters:
224      - project-parameter:
225          project: '{project}'
226      - gerrit-parameter:
227          branch: '{branch}'
228      - os-parameter:
229          os: '{os}'
230      - maven-project-parameter:
231          maven: 'mvn33-new'
232      - maven-exec:
233          maven-version: 'mvn33-new'
234      - stream-parameter:
235          stream: 'release'
236      - repo-name-parameter:
237          repo-name: '{repo-stream-part}.{repo-os-part}'
238      - string:
239          name: ARCHIVE_ARTIFACTS
240          default: '{archive-artifacts}'
241          description: Artifacts to archive to the logs server.
242
243    scm:
244      - gerrit-trigger-scm:
245          credentials-id: 'jenkins-gerrit-credentials'
246          refspec: ''
247          choosing-strategy: 'default'
248
249    wrappers:
250      - fdio-infra-wrappers:
251          build-timeout: '{build-timeout}'
252
253    triggers:
254      - gerrit-trigger-patch-merged:
255          name: '{project}'
256          branch: '{branch}'
257
258    builders:
259      - config-file-provider:
260          files:
261            - file-id: '.packagecloud'
262              target: '/root'
263      - config-file-provider:
264          files:
265            - file-id: 'packagecloud_api'
266              target: '/root'
267      - maven-target:
268          maven-version: 'mvn33-new'
269          goals: '--version'
270          settings: 'hicn-settings'
271          settings-type: cfp
272          global-settings: 'global-settings'
273          global-settings-type: cfp
274      - shell:
275          !include-raw-escape:
276          - include-raw-hicn-checkstyle.sh
277      - shell:
278          !include-raw-escape:
279          - include-raw-hicn-build.sh
280      - provide-maven-settings:
281          settings-file: 'hicn-settings'
282          global-settings-file: 'global-settings'
283      - shell:
284          !include-raw-escape:
285          - ../scripts/packagecloud_push.sh
286      - shell:
287          !include-raw-escape:
288          - ../scripts/maven_push_functions.sh
289          - include-raw-hicn-maven-push.sh
290
291    publishers:
292      - lf-infra-publish
293      - naginator:
294          rerun-unstable-builds: false
295          max-failed-builds: 1
296          fixed-delay: 90
297
298- project:
299    name: hicn-sonar
300    project: hicn
301    project-name: hicn
302    mvn-settings: hicn-settings
303    mvn-version: 'mvn33-new'
304    branch: master
305    build-node: ubuntu1604-basebuild-4c-4g
306    jobs:
307      - gerrit-maven-sonar
308
309- job-template:
310    name: 'hicn-sysrepo-plugin-verify-{stream}'
311
312    project-type: freestyle
313    node: '{os}-us'
314    concurrent: true
315    archive-artifacts: >
316      **/build/*.rpm,
317      **/build/*.deb
318    allow-empty: 'true'
319    fingerprint: false
320    only-if-success: true
321    default-excludes: false
322
323    build-discarder:
324      daysToKeep: '{build-days-to-keep}'
325      numToKeep: 100
326      artifactDaysToKeep: '{build-artifact-days-to-keep}'
327      artifactNumToKeep: '{build-artifact-num-to-keep}'
328
329    parameters:
330      - project-parameter:
331          project: '{project}'
332      - gerrit-parameter:
333          branch: '{branch}'
334      - os-parameter:
335          os: '{os}'
336      - repo-name-parameter:
337          repo-name: '{repo-stream-part}.ubuntu.bionic.main'
338      - stream-parameter:
339          stream: '{stream}'
340      - string:
341          name: ARCHIVE_ARTIFACTS
342          default: '{archive-artifacts}'
343          description: Artifacts to archive to the logs server.
344
345    scm:
346      - gerrit-trigger-scm:
347          credentials-id: 'jenkins-gerrit-credentials'
348          refspec: '$GERRIT_REFSPEC'
349          choosing-strategy: 'gerrit'
350
351    wrappers:
352      - fdio-infra-wrappers:
353          build-timeout: 120
354
355    triggers:
356      - gerrit:
357          server-name: 'Primary'
358          trigger-on:
359            - comment-added-contains-event:
360                comment-contains-value: 'verify_sysrepo'
361          projects:
362            - project-compare-type: 'ANT'
363              project-pattern: '{project}'
364              branches:
365                - branch-compare-type: 'ANT'
366                  branch-pattern: '**/{branch}'
367
368    builders:
369      - shell:
370          !include-raw-escape:
371          - include-raw-hicn-sysrepo-build.sh
372
373    publishers:
374      - lf-infra-publish
375
376- job-template:
377    name: 'hicn-sysrepo-plugin-merge-{stream}'
378
379    project-type: freestyle
380    node: '{os}-us'
381    archive-artifacts: >
382      **/build/*.rpm,
383      **/build/*.deb
384    allow-empty: 'true'
385    fingerprint: false
386    only-if-success: true
387    default-excludes: false
388
389    build-discarder:
390      daysToKeep: '{build-days-to-keep}'
391      numToKeep: 100
392      artifactDaysToKeep: '{build-artifact-days-to-keep}'
393      artifactNumToKeep: '{build-artifact-num-to-keep}'
394
395    parameters:
396      - project-parameter:
397          project: '{project}'
398      - gerrit-parameter:
399          branch: '{branch}'
400      - os-parameter:
401          os: '{os}'
402      - maven-project-parameter:
403          maven: 'mvn33-new'
404      - maven-exec:
405          maven-version: 'mvn33-new'
406      - stream-parameter:
407          stream: 'release'
408      - repo-name-parameter:
409          repo-name: '{repo-stream-part}.ubuntu.bionic.main'
410      - string:
411          name: ARCHIVE_ARTIFACTS
412          default: '{archive-artifacts}'
413          description: Artifacts to archive to the logs server.
414
415    scm:
416      - gerrit-trigger-scm:
417          credentials-id: 'jenkins-gerrit-credentials'
418          refspec: ''
419          choosing-strategy: 'default'
420
421    wrappers:
422      - fdio-infra-wrappers:
423          build-timeout: '{build-timeout}'
424
425    triggers:
426      - gerrit:
427          server-name: 'Primary'
428          trigger-on:
429            - comment-added-contains-event:
430                comment-contains-value: 'merge_sysrepo'
431          projects:
432            - project-compare-type: 'ANT'
433              project-pattern: '{project}'
434              branches:
435                - branch-compare-type: 'ANT'
436                  branch-pattern: '**/{branch}'
437
438    builders:
439      - config-file-provider:
440          files:
441            - file-id: '.packagecloud'
442              target: '/root'
443      - config-file-provider:
444          files:
445            - file-id: 'packagecloud_api'
446              target: '/root'
447      - maven-target:
448          maven-version: 'mvn33-new'
449          goals: '--version'
450          settings: 'hicn-settings'
451          settings-type: cfp
452          global-settings: 'global-settings'
453          global-settings-type: cfp
454      - shell:
455          !include-raw-escape:
456          - include-raw-hicn-checkstyle.sh
457      - shell:
458          !include-raw-escape:
459          - include-raw-hicn-sysrepo-build.sh
460      - provide-maven-settings:
461          settings-file: 'hicn-settings'
462          global-settings-file: 'global-settings'
463      - shell:
464          !include-raw-escape:
465          - ../scripts/packagecloud_push.sh
466      - shell:
467          !include-raw-escape:
468          - ../scripts/maven_push_functions.sh
469          - include-raw-hicn-maven-push.sh
470
471    publishers:
472      - lf-infra-publish
473      - naginator:
474          rerun-unstable-builds: false
475          max-failed-builds: 1
476          fixed-delay: 90
477
478- project:
479    name: hicn-info
480    project-name: hicn
481    jobs:
482      - gerrit-info-yaml-verify
483    build-node: centos7-builder-4c-4g
484    project: hicn
485    branch: master
486