611c6c72033b0aea44109f9c14cb9bf90e4a2afa
[ci-management.git] / jjb / ric-plt-tracelibcpp / ric-plt-tracelibcpp.yaml
1 ---
2 - project:
3     name: ric-plt-tracelibcpp-project-view
4     project-name: ric-plt-tracelibcpp
5     views:
6       - project-view
7
8 - project:
9     name: ric-plt-tracelibcpp-info
10     project: ric-plt/tracelibcpp
11     project-name: ric-plt-tracelibcpp
12     build-node: centos7-builder-1c-1g
13     jobs:
14       - gerrit-info-yaml-verify
15
16 - _tracelibcpp_common: &tracelibcpp_common
17     name: tracelibcpp-common
18     # git  repo
19     project: ric-plt/tracelibcpp
20     # jenkins job name prefix
21     project-name: ric-plt-tracelibcpp
22     # maven settings file has credentials to archive artifacts
23     mvn-settings: ric-plt-tracelibcpp-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     # skip install in cmake-build.sh
35     install: false
36
37 # verify every commit
38 - project:
39     <<: *tracelibcpp_common
40     name: tracelibcpp-verify
41     cmake-opts: -DDEV_PKG=1
42     make-opts: package test ARGS=-V
43     jobs:
44       - gerrit-cmake-verify
45     stream:
46       - master:
47           branch: master
48
49 # development library - package and publish
50 - project:
51     <<: *tracelibcpp_common
52     name: ric-plt-tracelibcpp-dev
53     project-name: "{name}"
54     cmake-opts: -DDEV_PKG=1
55     make-opts: package
56     install-prefix: /usr/local
57     jobs:
58       - gerrit-cmake-packagecloud-stage
59     stream:
60       - master:
61           branch: master
62
63 # runtime library - package and publish
64 - project:
65     <<: *tracelibcpp_common
66     name: ric-plt-tracelibcpp-rt
67     project-name: "{name}"
68     cmake-opts: -DDEV_PKG=0
69     make-opts: package
70     install-prefix: /usr/local
71     jobs:
72       - gerrit-cmake-packagecloud-stage
73     stream:
74       - master:
75           branch: master
76
77 # promote deb/rpm from staging to release at PackageCloud.io
78 - project:
79     <<: *tracelibcpp_common
80     name: ric-plt-tracelibcpp-release
81     # release uses sigul which requires centos
82     build-node: centos7-builder-1c-1g
83     jobs:
84       - gerrit-packagecloud-release-verify
85       - gerrit-packagecloud-release-merge
86
87 # analyze C code and test coverage
88 - project:
89     name: tracelibcpp-sonarqube
90     <<: *tracelibcpp_common
91     make-opts: -j8 all
92     sonar-project-file: ""
93     sonar-properties: |
94       sonar.login={sonarcloud_api_token}
95       sonar.projectKey={sonarcloud_project_organization}_{project-name}
96       sonar.projectName={project-name}
97       sonar.organization={sonarcloud_project_organization}
98       sonar.scanner.force-deprecated-java-version=true
99       sonar.build.sourceEncoding=UTF-8
100       sonar.sources=src
101       sonar.cfamily.build-wrapper-output=$WORKSPACE/bw-output
102       sonar.cfamily.gcov.reportsPath=test
103     jobs:
104       - gerrit-cmake-sonarqube