8ea3ce3501af048d0651b702966b7b98ef51cb88
[ci-management.git] / jjb / com-log / com-log.yaml
1 ---
2 - project:
3     name: com-log-project-view
4     project-name: com-log
5     views:
6       - project-view
7
8 - project:
9     name: com-log-info
10     project: com/log
11     project-name: com-log
12     build-node: centos7-builder-1c-1g
13     jobs:
14       - gerrit-info-yaml-verify
15
16 - _com_log_common: &com_log_common
17     # values apply to all com/log projects
18     name: com-log-common
19     # git repo
20     project: com/log
21     # jenkins job name prefix
22     project-name: com-log
23     # maven settings file has docker credentials
24     mvn-settings: com-log-settings
25     # verify/merge/package/sonar all require this
26     pre-build: !include-raw-escape: setup-com-log-build-deb.sh
27
28 # compile code and run tests
29 - project:
30     <<: *com_log_common
31     name: com-log-lib
32     build-node: ubuntu1804-builder-2c-2g
33     make-opts: -j 2 test
34     # do not trigger on changes in docs, releases
35     gerrit_trigger_file_paths:
36         - compare-type: REG_EXP
37           pattern: '^((?!docs\/|releases\/|\/COMMIT_MSG).)*$'
38     jobs:
39       - gerrit-autotools-verify
40     stream:
41       - master:
42           branch: master
43
44 # common settings for building DEB and RPM packages
45 - _com_log_pkg_common: &com_log_pkg_common
46     name: com-log-pkg-common
47     # directory with package files
48     build-dir: pkg
49     # docker image has the package_cloud gem
50     build-node: ubuntu1804-docker-4c-4g
51     jobs:
52       - gerrit-autotools-packagecloud-stage
53     stream:
54       - master:
55           branch: master
56
57 # build DEB package files
58 - project:
59     <<: *com_log_common
60     <<: *com_log_pkg_common
61     name: com-log-deb
62     project-name: '{name}'
63     configure-opts: --with-deb-dir={build-dir}
64     make-opts: -j4 deb-pkg
65
66 # build RPM package files
67 - project:
68     <<: *com_log_common
69     <<: *com_log_pkg_common
70     name: com-log-rpm
71     project-name: '{name}'
72     configure-opts: --with-rpm-dir={build-dir}
73     # parallel jobs (option -j) fail on rpm build
74     # https://bugzilla.redhat.com/show_bug.cgi?id=1398405
75     make-opts: rpm-pkg
76
77 # analyze C code and test coverage
78 - project:
79     <<: *com_log_common
80     name: com-log-sonarqube
81     build-node: ubuntu1804-docker-4c-4g
82     # set appropriate CXXFLAGS
83     configure-opts: --with-gcov-report-dir=gcov_report
84     # use all cores
85     make-opts: -j4 test_gcov
86     sonar-project-file: ""
87     sonar-properties: |
88         sonar.login={sonarcloud_api_token}
89         sonar.projectKey={sonarcloud_project_organization}_{project-name}
90         sonar.projectName={project-name}
91         sonar.organization={sonarcloud_project_organization}
92         sonar.build.sourceEncoding=UTF-8
93         sonar.sources=src
94         sonar.cfamily.build-wrapper-output=$WORKSPACE/bw-output
95         sonar.cfamily.cache.enabled=false
96         sonar.cfamily.gcov.reportsPath=gcov_report
97         sonar.cfamily.threads=4
98     jobs:
99       - gerrit-autotools-sonarqube
100
101 - project:
102     <<: *com_log_common
103     # these templates ignore the pre-build script
104     name: com-log-release
105     # release uses sigul which requires centos
106     build-node: centos7-builder-1c-1g
107     jobs:
108       - gerrit-packagecloud-release-verify
109       - gerrit-packagecloud-release-merge