# 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

- project:
    name: ric-plt-lib-rmr-info
    project: ric-plt/lib/rmr
    project-name: ric-plt-lib-rmr
    build-node: centos7-builder-1c-1g
    jobs:
      - gerrit-info-yaml-verify

- 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

- rmr_c_common: &rmr_c_common
    name: rmr-c-common
    # jenkins job name prefix
    project-name: ric-plt-lib-rmr-c
    # 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
    <<: *rmr_c_common
    name: ric-plt-lib-rmr-c-verify
    project-name: ric-plt-lib-rmr-c
    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
    <<: *rmr_c_common
    name: ric-plt-lib-rmr-c-dev
    project-name: ric-plt-lib-rmr-c-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
    <<: *rmr_c_common
    name: ric-plt-lib-rmr-c-rt
    project-name: ric-plt-lib-rmr-c-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
    <<: *rmr_c_common
    name: ric-plt-lib-rmr-c-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-c-sonarqube
    <<: *rmr_common
    <<: *rmr_c_common
    make-opts: test ARGS="-R unit"
    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
    jobs:
      - gerrit-cmake-sonarqube
