e5876e68d8dc41338476523e7c86a3420905ed7f
[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     jobs:
35       - gerrit-autotools-verify
36     stream:
37       - master:
38           branch: master
39
40 # common settings for building DEB and RPM packages
41 - com_log_pkg_common: &com_log_pkg_common
42     name: com-log-pkg-common
43     # directory with package files
44     build-dir: pkg
45     # docker image has the package_cloud gem
46     build-node: ubuntu1804-docker-4c-4g
47     jobs:
48       - gerrit-autotools-packagecloud-stage
49     stream:
50       - master:
51           branch: master
52
53 # build DEB package files
54 - project:
55     <<: *com_log_common
56     <<: *com_log_pkg_common
57     name: com-log-deb
58     project-name: '{name}'
59     configure-opts: --with-deb-dir={build-dir}
60     make-opts: -j4 deb-pkg
61
62 # build RPM package files
63 - project:
64     <<: *com_log_common
65     <<: *com_log_pkg_common
66     name: com-log-rpm
67     project-name: '{name}'
68     configure-opts: --with-rpm-dir={build-dir}
69     # parallel jobs (option -j) fail on rpm build
70     # https://bugzilla.redhat.com/show_bug.cgi?id=1398405
71     make-opts: rpm-pkg
72
73 # analyze C code and test coverage
74 - project:
75     <<: *com_log_common
76     name: com-log-sonarqube
77     build-node: ubuntu1804-docker-4c-4g
78     # set appropriate CXXFLAGS
79     configure-opts: --with-gcov-report-dir=gcov_report
80     # use all cores
81     make-opts: -j4 test_gcov
82     sonar-project-file: ""
83     sonar-properties: |
84         sonar.login={sonarcloud_api_token}
85         sonar.projectKey={sonarcloud_project_organization}_{project-name}
86         sonar.projectName={project-name}
87         sonar.organization={sonarcloud_project_organization}
88         sonar.build.sourceEncoding=UTF-8
89         sonar.sources=src
90         sonar.cfamily.build-wrapper-output=$WORKSPACE/bw-output
91         sonar.cfamily.cache.enabled=false
92         sonar.cfamily.gcov.reportsPath=gcov_report
93         sonar.cfamily.threads=4
94     jobs:
95       - gerrit-autotools-sonarqube
96
97 - project:
98     <<: *com_log_common
99     # these templates ignore the pre-build script
100     name: com-log-release
101     jobs:
102       - gerrit-packagecloud-release-verify
103       - gerrit-packagecloud-release-merge
104