| --- |
| - project: |
| name: com-log-project-view |
| project-name: com-log |
| views: |
| - project-view |
| |
| - _com_log_common: &com_log_common # values apply to all com/log projects |
| name: com-log-common |
| # git repo |
| project: com/log |
| # jenkins job name prefix |
| project-name: com-log |
| # maven settings file has docker credentials |
| mvn-settings: com-log-settings |
| # verify/merge/package/sonar all require this |
| pre-build: !include-raw-escape: setup-com-log-build-deb.sh |
| |
| # compile code and run tests |
| - project: |
| <<: *com_log_common |
| name: com-log-lib |
| build-node: ubuntu1804-builder-2c-2g |
| make-opts: -j 2 test |
| # do not trigger on changes in docs, releases |
| gerrit_trigger_file_paths: |
| - compare-type: REG_EXP |
| pattern: '^((?!docs\/|releases\/|\/COMMIT_MSG).)*$' |
| jobs: |
| - gerrit-autotools-verify |
| stream: |
| - master: |
| branch: master |
| |
| # common settings for building DEB and RPM packages |
| - _com_log_pkg_common: &com_log_pkg_common |
| name: com-log-pkg-common |
| # directory with package files |
| build-dir: pkg |
| # docker image has the package_cloud gem |
| build-node: ubuntu1804-docker-4c-4g |
| jobs: |
| - gerrit-autotools-packagecloud-stage |
| stream: |
| - master: |
| branch: master |
| |
| # build DEB package files |
| - project: |
| <<: *com_log_common |
| <<: *com_log_pkg_common |
| name: com-log-deb |
| project-name: "{name}" |
| configure-opts: --with-deb-dir={build-dir} |
| make-opts: -j4 deb-pkg |
| |
| # build RPM package files |
| - project: |
| <<: *com_log_common |
| <<: *com_log_pkg_common |
| name: com-log-rpm |
| project-name: "{name}" |
| configure-opts: --with-rpm-dir={build-dir} |
| # parallel jobs (option -j) fail on rpm build |
| # https://bugzilla.redhat.com/show_bug.cgi?id=1398405 |
| make-opts: rpm-pkg |
| |
| # analyze C code and test coverage |
| - project: |
| <<: *com_log_common |
| name: com-log-sonarqube |
| build-node: ubuntu1804-docker-4c-4g |
| # set appropriate CXXFLAGS |
| configure-opts: --with-gcov-report-dir=gcov_report |
| # use all cores |
| make-opts: -j4 test_gcov |
| sonar-project-file: "" |
| sonar-properties: | |
| sonar.login={sonarcloud_api_token} |
| sonar.projectKey={sonarcloud_project_organization}_{project-name} |
| sonar.projectName={project-name} |
| sonar.organization={sonarcloud_project_organization} |
| sonar.build.sourceEncoding=UTF-8 |
| sonar.sources=src |
| sonar.cfamily.build-wrapper-output=$WORKSPACE/bw-output |
| sonar.cfamily.cache.enabled=false |
| sonar.cfamily.gcov.reportsPath=gcov_report |
| sonar.cfamily.threads=4 |
| jobs: |
| - gerrit-autotools-sonarqube |
| |
| - project: |
| <<: *com_log_common |
| # these templates ignore the pre-build script |
| name: com-log-release |
| # release uses sigul which requires centos |
| build-node: centos7-builder-1c-1g |
| jobs: |
| - gerrit-packagecloud-release-verify |
| - gerrit-packagecloud-release-merge |