Add cpprest and pistache library as dependency in xapp-frame-cpp
[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-deb-cpprest.sh
36       - ../shell/install-git-pistache.sh
37     # skip install in cmake-build.sh
38     install: false
39
40 # verify every commit
41 - project:
42     <<: *xapp_frame_cpp_common
43     name: xapp-frame-cpp-verify
44     cmake-opts: -DDEV_PKG=1
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     <<: *xapp_frame_cpp_common
55     name: ric-plt-xapp-frame-cpp-dev
56     project-name: '{name}'
57     cmake-opts: -DDEV_PKG=1
58     make-opts: package
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     <<: *xapp_frame_cpp_common
69     name: ric-plt-xapp-frame-cpp-rt
70     project-name: '{name}'
71     cmake-opts: -DDEV_PKG=0
72     make-opts: package
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     <<: *xapp_frame_cpp_common
83     name: ric-plt-xapp-frame-cpp-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: xapp-frame-cpp-sonarqube
93     <<: *xapp_frame_cpp_common
94     make-opts: test ARGS=-V
95     sonar-project-file: ""
96     sonar-properties: |
97         sonar.login={sonarcloud_api_token}
98         sonar.projectKey={sonarcloud_project_organization}_{project-name}
99         sonar.projectName={project-name}
100         sonar.organization={sonarcloud_project_organization}
101         sonar.build.sourceEncoding=UTF-8
102         sonar.sources=src
103         sonar.cfamily.build-wrapper-output=$WORKSPACE/bw-output
104         sonar.cfamily.gcov.reportsPath=test
105     jobs:
106       - gerrit-cmake-sonarqube