Merge "Drop Python jobs for ric-plt/lib/rmr"
[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
24 - rmr_c_common: &rmr_c_common
25     name: rmr-c-common
26     # jenkins job name prefix
27     project-name: ric-plt-lib-rmr-c
28     # test scripts depend on this name
29     build-dir: $WORKSPACE/.build
30     # Use ubuntu base for cmake v3
31     # Use docker variant for packagecloud ruby gem
32     build-node: ubuntu1804-docker-4c-4g
33     # install alien package to build RPMS on ubuntu
34     pre-build: !include-raw-escape:
35       - ../shell/install-deb-alien.sh
36     # exclude irrelevant changes
37     gerrit_trigger_file_paths:
38       - compare-type: REG_EXP
39         pattern: '^((?!src/bindings|\/COMMIT_MSG).)*$'
40
41 # verify every commit
42 - project:
43     <<: *rmr_common
44     <<: *rmr_c_common
45     name: ric-plt-lib-rmr-c-verify
46     project-name: ric-plt-lib-rmr-c
47     cmake-opts: -DDEV_PKG=1 -DBUILD_DOC=1
48     # skip install in cmake-build.sh
49     install: false
50     make-opts: package test ARGS=-V
51     jobs:
52       - gerrit-cmake-verify
53     stream:
54       - master:
55           branch: master
56
57 # development library - package and publish
58 - project:
59     <<: *rmr_common
60     <<: *rmr_c_common
61     name: ric-plt-lib-rmr-c-dev
62     project-name: ric-plt-lib-rmr-c-dev
63     cmake-opts: -DDEV_PKG=1
64     make-opts: package ARGS=-V
65     install-prefix: /usr/local
66     jobs:
67       - gerrit-cmake-packagecloud-stage
68     stream:
69       - master:
70           branch: master
71
72 # runtime library - package and publish
73 - project:
74     <<: *rmr_common
75     <<: *rmr_c_common
76     name: ric-plt-lib-rmr-c-rt
77     project-name: ric-plt-lib-rmr-c-rt
78     cmake-opts: -DDEV_PKG=0
79     make-opts: package ARGS=-V
80     install-prefix: /usr/local
81     jobs:
82       - gerrit-cmake-packagecloud-stage
83     stream:
84       - master:
85           branch: master
86
87 # promote deb/rpm from staging to release at PackageCloud.io
88 - project:
89     <<: *rmr_common
90     <<: *rmr_c_common
91     name: ric-plt-lib-rmr-c-release
92     # release uses sigul which requires centos
93     build-node: centos7-builder-1c-1g
94     jobs:
95       - gerrit-packagecloud-release-verify
96       - gerrit-packagecloud-release-merge
97
98 # analyze C code and test coverage
99 - project:
100     name: ric-plt-lib-rmr-c-sonarqube
101     <<: *rmr_common
102     <<: *rmr_c_common
103     make-opts: test ARGS=-V
104     sonar-project-file: ""
105     sonar-properties: |
106         sonar.login={sonarcloud_api_token}
107         sonar.projectKey={sonarcloud_project_organization}_{project-name}
108         sonar.projectName={project-name}
109         sonar.organization={sonarcloud_project_organization}
110         sonar.build.sourceEncoding=UTF-8
111         sonar.sources=src/rmr
112         sonar.cfamily.build-wrapper-output=$WORKSPACE/bw-output
113         sonar.cfamily.gcov.reportsPath=test
114     jobs:
115       - gerrit-cmake-sonarqube