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