| # C shared library published as deb/rpm to PackageCloud.io |
| --- |
| - project: |
| name: ric-plt-lib-rmr-project-view |
| project-name: ric-plt-lib-rmr |
| views: |
| - project-view |
| |
| - _rmr_common: &rmr_common |
| name: rmr-common |
| # git repo |
| project: ric-plt/lib/rmr |
| # maven settings file has credentials to archive artifacts |
| mvn-settings: ric-plt-lib-rmr-settings |
| # jenkins job name prefix |
| project-name: ric-plt-lib-rmr |
| # test scripts depend on this name |
| build-dir: $WORKSPACE/.build |
| # Use ubuntu base for cmake v3 |
| # Use docker variant for packagecloud ruby gem |
| build-node: ubuntu1804-docker-4c-4g |
| # install alien package to build RPMS on ubuntu |
| pre-build: !include-raw-escape: |
| - ../shell/install-deb-alien.sh |
| # exclude irrelevant changes |
| gerrit_trigger_file_paths: |
| - compare-type: REG_EXP |
| pattern: '^((?!src/bindings|\/COMMIT_MSG).)*$' |
| |
| # verify every commit |
| - project: |
| <<: *rmr_common |
| name: ric-plt-lib-rmr-verify |
| cmake-opts: -DDEV_PKG=1 -DBUILD_DOC=1 |
| # skip install in cmake-build.sh |
| install: false |
| make-opts: package test ARGS=-V |
| jobs: |
| - gerrit-cmake-verify |
| stream: |
| - master: |
| branch: master |
| |
| # development library - package and publish |
| - project: |
| <<: *rmr_common |
| name: ric-plt-lib-rmr-dev |
| project-name: ric-plt-lib-rmr-dev |
| cmake-opts: -DDEV_PKG=1 |
| make-opts: package ARGS=-V |
| install-prefix: /usr/local |
| jobs: |
| - gerrit-cmake-packagecloud-stage |
| stream: |
| - master: |
| branch: master |
| |
| # runtime library - package and publish |
| - project: |
| <<: *rmr_common |
| name: ric-plt-lib-rmr-rt |
| project-name: ric-plt-lib-rmr-rt |
| cmake-opts: -DDEV_PKG=0 |
| make-opts: package ARGS=-V |
| install-prefix: /usr/local |
| jobs: |
| - gerrit-cmake-packagecloud-stage |
| stream: |
| - master: |
| branch: master |
| |
| # promote deb/rpm from staging to release at PackageCloud.io |
| - project: |
| <<: *rmr_common |
| name: ric-plt-lib-rmr-release |
| # release uses sigul which requires centos |
| build-node: centos7-builder-1c-1g |
| jobs: |
| - gerrit-packagecloud-release-verify |
| - gerrit-packagecloud-release-merge |
| |
| # analyze C code and test coverage |
| - project: |
| name: ric-plt-lib-rmr-sonarqube |
| <<: *rmr_common |
| cmake-opts: -DDEV_PKG=1 |
| make-opts: package test ARGS=-V |
| 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/rmr |
| sonar.cfamily.build-wrapper-output=$WORKSPACE/bw-output |
| sonar.cfamily.gcov.reportsPath=test |
| sonar.cfamily.threads=2 |
| jobs: |
| - gerrit-cmake-sonarqube |