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