blob: 1fd4ebd0bbf729b9bc70415ccaf2d33c9f654f28 [file] [log] [blame]
Lott, Christopher (cl778h)896609e2020-04-06 22:05:32 -04001# C shared library published as deb/rpm to PackageCloud.io
Lott, Christopher (cl778h)f14966f2019-06-04 10:38:14 -04002---
3- project:
4 name: ric-plt-lib-rmr-project-view
5 project-name: ric-plt-lib-rmr
6 views:
7 - project-view
8
Andrew Grimbergadf550e2019-06-11 13:40:50 -07009- 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
Andrew Grimbergadf550e2019-06-11 13:40:50 -070014 jobs:
15 - gerrit-info-yaml-verify
Lott, Christopher (cl778h)3f5f89b2019-08-05 10:25:58 -040016
Lott, Christopher (cl778h)557b88a2019-09-27 06:01:54 -040017- rmr_common: &rmr_common
18 name: rmr-common
Lott, Christopher (cl778h)3f5f89b2019-08-05 10:25:58 -040019 # git repo
20 project: ric-plt/lib/rmr
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -050021 # maven settings file has credentials to archive artifacts
Lott, Christopher (cl778h)3f5f89b2019-08-05 10:25:58 -040022 mvn-settings: ric-plt-lib-rmr-settings
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -050023
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -050024- 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
Lott, Christopher (cl778h)7751aa02020-03-30 20:06:30 -040029 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
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -050036 # exclude irrelevant changes
Lott, Christopher (cl778h)557b88a2019-09-27 06:01:54 -040037 gerrit_trigger_file_paths:
38 - compare-type: REG_EXP
39 pattern: '^((?!src/bindings|\/COMMIT_MSG).)*$'
Lott, Christopher (cl778h)caecbb52019-11-11 16:04:43 -050040
Lott, Christopher (cl778h)7751aa02020-03-30 20:06:30 -040041# verify every commit
Lott, Christopher (cl778h)caecbb52019-11-11 16:04:43 -050042- project:
43 <<: *rmr_common
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -050044 <<: *rmr_c_common
Lott, Christopher (cl778h)7751aa02020-03-30 20:06:30 -040045 name: ric-plt-lib-rmr-c-verify
46 project-name: ric-plt-lib-rmr-c
Lott, Christopher (cl778h)b9223222020-04-03 11:22:31 -040047 cmake-opts: -DDEV_PKG=1 -DBUILD_DOC=1
48 # skip install in cmake-build.sh
49 install: false
Lott, Christopher (cl778h)7751aa02020-03-30 20:06:30 -040050 make-opts: package test ARGS=-V
Lott, Christopher (cl778h)3f5f89b2019-08-05 10:25:58 -040051 jobs:
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -050052 - gerrit-cmake-verify
Lott, Christopher (cl778h)3f5f89b2019-08-05 10:25:58 -040053 stream:
Lott, Christopher (cl778h)7751aa02020-03-30 20:06:30 -040054 - master:
55 branch: master
Lott, Christopher (cl778h)c2339be2019-08-22 10:48:39 -040056
Lott, Christopher (cl778h)7751aa02020-03-30 20:06:30 -040057# development library - package and publish
Lott, Christopher (cl778h)c2339be2019-08-22 10:48:39 -040058- project:
Lott, Christopher (cl778h)557b88a2019-09-27 06:01:54 -040059 <<: *rmr_common
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -050060 <<: *rmr_c_common
Lott, Christopher (cl778h)7751aa02020-03-30 20:06:30 -040061 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
Lott, Christopher (cl778h)caecbb52019-11-11 16:04:43 -050066 jobs:
Lott, Christopher (cl778h)b9223222020-04-03 11:22:31 -040067 - gerrit-cmake-packagecloud-stage
Lott, Christopher (cl778h)7751aa02020-03-30 20:06:30 -040068 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:
Lott, Christopher (cl778h)b9223222020-04-03 11:22:31 -040082 - gerrit-cmake-packagecloud-stage
Lott, Christopher (cl778h)caecbb52019-11-11 16:04:43 -050083 stream:
84 - master:
85 branch: master
86
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -050087# 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:
Lott, Christopher (cl778h)7751aa02020-03-30 20:06:30 -0400100 name: ric-plt-lib-rmr-c-sonarqube
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -0500101 <<: *rmr_common
102 <<: *rmr_c_common
E. Scott Daniels1c7310d2020-04-27 10:30:45 -0400103 make-opts: test ARGS="-R unit"
Lott, Christopher (cl778h)c8e8ea92020-03-05 08:40:19 -0500104 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