Automation adds ric-app-ric-sdk-py.yaml
[ci-management.git] / jjb / ric-plt-lib-rmr / ric-plt-lib-rmr.yaml
1 # C shared library published as deb/rpm to PackageCloud.io
2 ---
3 - project:
4     name: ric-plt-lib-rmr-project-view
5     project-name: ric-plt-lib-rmr
6     views:
7       - project-view
8
9 - project:
10     name: ric-plt-lib-rmr-info
11     project: ric-plt/lib/rmr
12     project-name: ric-plt-lib-rmr
13     build-node: centos7-builder-1c-1g
14     jobs:
15       - gerrit-info-yaml-verify
16
17 - rmr_common: &rmr_common
18     name: rmr-common
19     # git repo
20     project: ric-plt/lib/rmr
21     # maven settings file has credentials to archive artifacts
22     mvn-settings: ric-plt-lib-rmr-settings
23     # jenkins job name prefix
24     project-name: ric-plt-lib-rmr
25     # test scripts depend on this name
26     build-dir: $WORKSPACE/.build
27     # Use ubuntu base for cmake v3
28     # Use docker variant for packagecloud ruby gem
29     build-node: ubuntu1804-docker-4c-4g
30     # install alien package to build RPMS on ubuntu
31     pre-build: !include-raw-escape:
32       - ../shell/install-deb-alien.sh
33     # exclude irrelevant changes
34     gerrit_trigger_file_paths:
35       - compare-type: REG_EXP
36         pattern: '^((?!src/bindings|\/COMMIT_MSG).)*$'
37
38 # verify every commit
39 - project:
40     <<: *rmr_common
41     name: ric-plt-lib-rmr-verify
42     cmake-opts: -DDEV_PKG=1 -DBUILD_DOC=1
43     # skip install in cmake-build.sh
44     install: false
45     make-opts: package test ARGS=-V
46     jobs:
47       - gerrit-cmake-verify
48     stream:
49       - master:
50           branch: master
51
52 # development library - package and publish
53 - project:
54     <<: *rmr_common
55     name: ric-plt-lib-rmr-dev
56     project-name: ric-plt-lib-rmr-dev
57     cmake-opts: -DDEV_PKG=1
58     make-opts: package ARGS=-V
59     install-prefix: /usr/local
60     jobs:
61       - gerrit-cmake-packagecloud-stage
62     stream:
63       - master:
64           branch: master
65
66 # runtime library - package and publish
67 - project:
68     <<: *rmr_common
69     name: ric-plt-lib-rmr-rt
70     project-name: ric-plt-lib-rmr-rt
71     cmake-opts: -DDEV_PKG=0
72     make-opts: package ARGS=-V
73     install-prefix: /usr/local
74     jobs:
75       - gerrit-cmake-packagecloud-stage
76     stream:
77       - master:
78           branch: master
79
80 # promote deb/rpm from staging to release at PackageCloud.io
81 - project:
82     <<: *rmr_common
83     name: ric-plt-lib-rmr-release
84     # release uses sigul which requires centos
85     build-node: centos7-builder-1c-1g
86     jobs:
87       - gerrit-packagecloud-release-verify
88       - gerrit-packagecloud-release-merge
89
90 # analyze C code and test coverage
91 - project:
92     name: ric-plt-lib-rmr-sonarqube
93     <<: *rmr_common
94     cmake-opts: -DDEV_PKG=1
95     make-opts: package test ARGS=-V
96     sonar-project-file: ""
97     sonar-properties: |
98         sonar.login={sonarcloud_api_token}
99         sonar.projectKey={sonarcloud_project_organization}_{project-name}
100         sonar.projectName={project-name}
101         sonar.organization={sonarcloud_project_organization}
102         sonar.build.sourceEncoding=UTF-8
103         sonar.sources=src/rmr
104         sonar.cfamily.build-wrapper-output=$WORKSPACE/bw-output
105         sonar.cfamily.gcov.reportsPath=test
106         sonar.cfamily.threads=2
107     jobs:
108       - gerrit-cmake-sonarqube