-Subproject commit 5c0ab82a3e6479cf0ac2a34e97503a0af4c19fde
+Subproject commit 58776ad5961580fcdc1cc56a9309e9da52e7673c
- project:
name: ci-jobs
+ # configure the gerrit-jjb-verify job
+ build-node-label-check: true
+ build-node-label-list: ""
jobs:
- '{project-name}-ci-jobs'
+++ /dev/null
-# Copyright (c) 2020 AT&T Intellectual Property.
-#
-# Licensed under the Apache License, Version 2.0 (the 'License');
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an 'AS IS' BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
----
-
-# This file is structured with a cmake alias/anchor, an alias/anchor,
-# and a job-template to simplify the task of lifting it to global-jjb.
-
-####################
-# COMMON FUNCTIONS #
-####################
-
-# Clone of lf_cmake_common which isn't visible here
-- oran_cmake_common: &oran_cmake_common
- name: oran-cmake-common
-
- #####################
- # Job Configuration #
- #####################
-
- project-type: freestyle
- node: "{build-node}"
- disabled: "{disable-job}"
-
- properties:
- - lf-infra-properties:
- build-days-to-keep: "{build-days-to-keep}"
-
- parameters:
- - lf-infra-parameters:
- project: "{project}"
- branch: "{branch}"
- stream: "{stream}"
- - lf-cmake-parameters:
- build-dir: "{build-dir}"
- cmake-opts: "{cmake-opts}"
- install-prefix: "{install-prefix}"
- make-opts: "{make-opts}"
-
- wrappers:
- - lf-infra-wrappers:
- build-timeout: "{build-timeout}"
- jenkins-ssh-credential: "{jenkins-ssh-credential}"
-
- publishers:
- - lf-infra-publish
-
-##################
-# CMAKE+PC STAGE #
-##################
-
-- oran_cmake_pc_stage: &oran_cmake_pc_stage
- name: oran-cmake-pc-stage
-
- ######################
- # Default parameters #
- ######################
-
- branch: master
- build-days-to-keep: 7
- build-dir: "$WORKSPACE/build"
- build-timeout: 15
- cmake-opts: ""
- cron: "" # avoid for PackageCloud which rejects duplicates
- disable-job: false
- git-url: "$GIT_URL/$PROJECT"
- github-url: "https://github.com"
- install-prefix: "$BUILD_DIR/output"
- make-opts: ""
- pre-build: ""
- stream: master
- submodule-recursive: true
- submodule-timeout: 10
- submodule-disable: false
-
- gerrit_trigger_file_paths:
- - compare-type: REG_EXP
- pattern: ".*"
-
- # github_included_regions MUST match gerrit_trigger_file_paths
- github_included_regions:
- - ".*"
-
- builders:
- - config-file-provider:
- files:
- - file-id: ".packagecloud"
- target: "$HOME/.packagecloud"
- - shell: "{pre-build}"
- - shell: !include-raw-escape: ../shell/cmake-package.sh
- - oran-packagecloud-push:
- build-dir: "{build-dir}"
- packagecloud-account: "{packagecloud-account}"
- packagecloud-repo: "{packagecloud-repo}"
- debian-distribution-versions: "{debian-distribution-versions}"
- rpm-distribution-versions: "{rpm-distribution-versions}"
-
-- job-template:
- # build with cmake and publish to PackageCloud on command
- name: "{project-name}-cmake-pc-stage-{stream}"
- id: oran-gerrit-cmake-pc-stage
- <<: *oran_cmake_common
- <<: *oran_cmake_pc_stage
-
- ######################
- # Default parameters #
- ######################
-
- gerrit_stage_triggers:
- - comment-added-contains-event:
- comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
-
- #####################
- # Job Configuration #
- #####################
-
- scm:
- - lf-infra-gerrit-scm:
- jenkins-ssh-credential: "{jenkins-ssh-credential}"
- git-url: "{git-url}"
- refspec: "$GERRIT_REFSPEC"
- branch: "$GERRIT_BRANCH"
- submodule-recursive: "{submodule-recursive}"
- submodule-timeout: "{submodule-timeout}"
- submodule-disable: "{submodule-disable}"
- # stage jobs always build from tip
- choosing-strategy: default
-
- triggers:
- - timed: "{obj:cron}"
- - gerrit:
- server-name: "{gerrit-server-name}"
- trigger-on: "{obj:gerrit_stage_triggers}"
- projects:
- - project-compare-type: ANT
- project-pattern: "{project}"
- branches:
- - branch-compare-type: ANT
- branch-pattern: "**/{branch}"
- file-paths: "{obj:gerrit_trigger_file_paths}"
-# The ric-plt/lib/rmr repository contains two projects:
-# 1) C shared library published as deb/rpm to PackageCloud.io
-# 2) Python bindings published as package to PyPI.org
+# C shared library published as deb/rpm to PackageCloud.io
---
- project:
name: ric-plt-lib-rmr-project-view
# maven settings file has credentials to archive artifacts
mvn-settings: ric-plt-lib-rmr-settings
-### RMR C LIBRARY ###
-
- rmr_c_common: &rmr_c_common
name: rmr-c-common
# jenkins job name prefix
sonar.cfamily.gcov.reportsPath=test
jobs:
- gerrit-cmake-sonarqube
-
-### RMR PYTHON PACKAGE ###
-
-- rmr_py_common: &rmr_py_common
- name: rmr-py-common
- # jenkins job name prefix
- project-name: ric-plt-lib-rmr-py
- # the pre-build-script installs RHEL packages
- build-node: centos7-builder-1c-1g
- # install prereqs
- pre-build-script: !include-raw-escape: ../shell/install-rpm-nng-rmr.sh
- python-version: python3.6
- # bindings live in a subdirectory
- tox-dir: src/bindings/rmr-python
- gerrit_trigger_file_paths:
- - compare-type: REG_EXP
- pattern: 'src/bindings/rmr-python/.*'
-
-# verify py changes on every branch
-- project:
- <<: *rmr_common
- <<: *rmr_py_common
- name: ric-plt-lib-rmr-py-verify
- stream:
- - all:
- branch: '*'
- jobs:
- - gerrit-pypi-verify
-
-# build and publish distributions to test.pypi.org from master
-- project:
- <<: *rmr_common
- <<: *rmr_py_common
- name: ric-plt-lib-rmr-py-merge
- stream:
- - master:
- branch: master
- jobs:
- - gerrit-pypi-merge
-
-# promote package from test.pypi.org to pypi.org
-- project:
- <<: *rmr_common
- <<: *rmr_py_common
- name: ric-plt-lib-rmr-py-release
- jobs:
- - '{project-name}-gerrit-pypi-release-jobs'
-
-# analyze Py code and test coverage
-- project:
- <<: *rmr_common
- <<: *rmr_py_common
- name: ric-plt-lib-rmr-py-sonarqube
- 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/bindings/rmr-python
- sonar.exclusions=setup.py,tests/*.py
- sonar.python.coverage.reportPaths=coverage.xml
- jobs:
- - gerrit-tox-sonarqube
# Use ubuntu base for cmake v3
# Use docker variant for packagecloud ruby gem
build-node: ubuntu1804-docker-4c-4g
+ # pre-build scripts for CMake templates:
# install alien package to build RPMS
- # install RMR per version file in repo for ubuntu
+ # install RMR per version file in repo
pre-build: !include-raw-escape:
- ../shell/install-deb-alien.sh
- ../shell/install-deb-rmr3.sh
+ # skip install in cmake-build.sh
+ install: false
-# development library - publish only
+# verify every commit
- project:
- name: xapp-frame-cpp-lib-dev
<<: *xapp_frame_cpp_common
- project-name: ric-plt-xapp-frame-cpp-dev
+ name: xapp-frame-cpp-verify
cmake-opts: -DDEV_PKG=1
- make-opts: package ARGS=-V
+ make-opts: package test ARGS=-V
jobs:
- - oran-gerrit-cmake-pc-stage
+ - gerrit-cmake-verify
+ stream:
+ - master:
+ branch: master
+
+# development library - package and publish
+- project:
+ <<: *xapp_frame_cpp_common
+ name: ric-plt-xapp-frame-cpp-dev
+ project-name: '{name}'
+ cmake-opts: -DDEV_PKG=1
+ make-opts: package
+ install-prefix: /usr/local
+ jobs:
+ - gerrit-cmake-packagecloud-stage
stream:
- master:
branch: master
-# runtime library - test and publish
+# runtime library - package and publish
- project:
- name: xapp-frame-cpp-lib-rt
<<: *xapp_frame_cpp_common
- project-name: ric-plt-xapp-frame-cpp-lib
+ name: ric-plt-xapp-frame-cpp-rt
+ project-name: '{name}'
cmake-opts: -DDEV_PKG=0
- make-opts: test package ARGS=-V
+ make-opts: package
+ install-prefix: /usr/local
jobs:
- - gerrit-cmake-verify
- - oran-gerrit-cmake-pc-stage
+ - gerrit-cmake-packagecloud-stage
stream:
- master:
branch: master
name: ric-plt-xapp-frame-py-pypi
<<: *py_common
jobs:
- - '{project-name}-gerrit-pypi-jobs'
+ - gerrit-pypi-verify
+ - gerrit-pypi-stage
stream:
- master:
branch: master