-Subproject commit 59faa9977d726858902dcf513999616aaf6de7a5
+Subproject commit 168bf7cebd8b6619449eaa9e7f150fc95b85c873
IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20200317-165605.039
-VOLUME_SIZE=20
+LABELS=centos7-builder-1c-1g
HARDWARE_ID=v2-highcpu-1
+VOLUME_SIZE=20
+LABELS=centos7-docker-2c-8g-200g
IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20200317-104237.628
HARDWARE_ID=v2-standard-2
VOLUME_SIZE=200
+LABELS=centos7-docker-2c-8g
IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20200317-104237.628
HARDWARE_ID=v2-standard-2
VOLUME_SIZE=20
+LABELS=centos8-builder-1c-1g
IMAGE_NAME=ZZCI - CentOS 8 - builder - x86_64 - 20200403-151332.560
VOLUME_SIZE=20
HARDWARE_ID=v2-highcpu-1
-IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20200317-165726.675
LABELS=ubuntu1804-builder-2c-2g
+IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20200317-165726.675
HARDWARE_ID=v2-highcpu-2
VOLUME_SIZE=20
-IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20200317-165726.675
LABELS=ubuntu1804-builder-4c-4g
+IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20200317-165726.675
HARDWARE_ID=v2-highcpu-4
VOLUME_SIZE=20
-IMAGE_NAME=ZZCI - Ubuntu 18.04 - docker - x86_64 - 20200317-104132.496
LABELS=ubuntu1804-docker-4c-4g
+IMAGE_NAME=ZZCI - Ubuntu 18.04 - docker - x86_64 - 20200317-104132.496
HARDWARE_ID=v2-highcpu-4
VOLUME_SIZE=20
<<: *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
name: pylog-pypi
# the code is in a subdirectory
tox-dir: mdclogpy
+ gerrit_trigger_file_paths:
+ - compare-type: REG_EXP
+ pattern: 'mdclogpy/.*'
+ stream:
+ - master:
+ branch: master
+ jobs:
+ - gerrit-pypi-verify
+ - gerrit-pypi-stage
- project:
<<: *pylog_common
build-node: centos7-docker-2c-8g
# do not trigger on changes in docs, releases
- gerrit_trigger_file_paths:
- - compare-type: REG_EXP
- pattern: 'mdclogpy/.*'
- stream:
- - master:
- branch: master
- jobs:
- - gerrit-pypi-verify
- - gerrit-pypi-stage
- pylog_python: &pylog_python
# settings for python builds
<<: *nonrtric_jdk_common
mvn-params: -Dbuild.number=${{BUILD_NUMBER}}
jobs:
- - gerrit-maven-docker-verify:
- mvn-opts: -Dexec.skip=false
+ - gerrit-maven-docker-verify
- gerrit-maven-docker-merge
- gerrit-maven-docker-stage
stream:
<<: *nonrtric_jdk_common
name: nonrtric-policy-agent
project-name: '{name}'
- mvn-opts: '-Ddocker.skip=true -Dexec.skip=true'
+ mvn-opts: '-Ddocker.skip=true'
mvn-params: '-f policy-agent'
gerrit_trigger_file_paths:
- compare-type: REG_EXP
<<: *nonrtric_jdk_common
name: nonrtric-sdnc-a1-controller
project-name: '{name}'
- mvn-opts: '-Ddocker.skip=true -Dexec.skip=true'
+ mvn-opts: '-Ddocker.skip=true'
mvn-params: '-f sdnc-a1-controller/northbound'
gerrit_trigger_file_paths:
- compare-type: REG_EXP
<<: *nonrtric_jdk_common
name: nonrtric-sonar
# template goal install builds docker image unnecessarily
- mvn-params: '-Ddocker.skip=true -Dexec.skip=true'
+ mvn-params: '-Ddocker.skip=true'
sonarcloud: true
sonarcloud-api-token: '{sonarcloud_api_token}'
sonarcloud-project-key: '{sonarcloud_project_organization}_{project-name}'
--- /dev/null
+---
+- project:
+ name: ric-app-hw-go-project-view
+ project-name: ric-app-hw-go
+ views:
+ - project-view
+
+- hw-go_common: &hw-go_common
+ # values apply to all projects
+ name: hw-go-common
+ # git repo
+ project: ric-app/hw-go
+ # jenkins prefix
+ project-name: ric-app-hw-go
+ # maven settings file has docker credentials
+ mvn-settings: ric-app-hw-go-settings
+
+# verify INFO.yaml changes
+- project:
+ <<: *hw-go_common
+ name: ric-app-hw-go-info
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
--- /dev/null
+---
+- project:
+ name: ric-app-hw-python-project-view
+ project-name: ric-app-hw-python
+ views:
+ - project-view
+
+- hw-python_common: &hw-python_common
+ # values apply to all projects
+ name: hw-python-common
+ # git repo
+ project: ric-app/hw-python
+ # jenkins prefix
+ project-name: ric-app-hw-python
+ # maven settings file has docker credentials
+ mvn-settings: ric-app-hw-python-settings
+
+# verify INFO.yaml changes
+- project:
+ <<: *hw-python_common
+ name: ric-app-hw-python-info
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
jobs:
- gerrit-info-yaml-verify
-- dbaas_docker_common: &dbaas_docker_common
- # values apply to all dbaas docker projects
- name: dbaas-docker-common
+- dbaas_common: &dbaas_common
+ # values apply to all ric-plt/dbaas projects
+ name: dbaas-common
# git repo
project: ric-plt/dbaas
# jenkins job name prefix
project-name: ric-plt-dbaas
- # maven settings file has docker credentials
+ # maven settings file has credentials
mvn-settings: ric-plt-dbaas-settings
+# compile code and run tests
- project:
- <<: *dbaas_docker_common
- name: ric-plt-dbaas
- # image name
- docker-name: 'o-ran-sc/{name}'
- # Specify docker file and host network
- docker-build-args: '--network=host -f docker/Dockerfile.redis'
- # source of docker tag
- container-tag-method: yaml-file
+ <<: *dbaas_common
+ name: ric-plt-dbaas-lib
+ pre-build: !include-raw-escape: setup-dbaas-build-deb.sh
+ build-node: ubuntu1804-builder-2c-2g
+ make-opts: -j 2 test
jobs:
- - '{project-name}-gerrit-docker-jobs'
+ - gerrit-autotools-verify
stream:
- master:
branch: master
+# common settings for building DEB and RPM packages
+- dbaas_pkg_common: &dbaas_pkg_common
+ name: ric-plt-pkg-cmn
+ pre-build: !include-raw-escape: setup-dbaas-build-deb.sh
+ # 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:
+ <<: *dbaas_common
+ <<: *dbaas_pkg_common
+ name: ric-plt-dbaas-deb
+ project-name: '{name}'
+ configure-opts: --with-deb-dir={build-dir}
+ make-opts: -j4 deb-pkg
+
+# build RPM package files
+- project:
+ <<: *dbaas_common
+ <<: *dbaas_pkg_common
+ name: ric-plt-dbaas-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:
+ <<: *dbaas_common
+ name: ric-plt-lib-dbaas-sonarqube
+ pre-build: !include-raw-escape: setup-dbaas-build-deb.sh
+ build-node: ubuntu1804-docker-4c-4g
+ # set appropriate CXXFLAGS
+ configure-opts: --build=i686-pc-linux-gnu
+ # use all cores
+ make-opts: -j4 all
+ 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:
- <<: *dbaas_docker_common
+ <<: *dbaas_common
name: ric-plt-dbaas-release
- # maven release requires sigul which requires centos
- # container release requires docker
- build-node: centos7-docker-2c-8g
jobs:
- - '{project-name}-gerrit-release-jobs'
+ - gerrit-packagecloud-release-verify
+ - gerrit-packagecloud-release-merge
--- /dev/null
+#!/bin/bash\r
+##############################################################################\r
+#\r
+# Copyright (c) 2020 HCL Technology.\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+#\r
+##############################################################################\r
+\r
+# Installs prerequisites needed to compile & test SDL code\r
+# and build RPM/DEB packages on a Debian/Ubuntu machine.\r
+\r
+echo "--> setup-sdl-build-deb.sh"\r
+\r
+# Ensure we fail the job if any steps fail.\r
+set -eux -o pipefail\r
+\r
+# install prereqs\r
+sudo apt-get update && sudo apt-get -q -y install \\r
+ autoconf-archive libhiredis-dev rpm valgrind \\r
+ libboost-filesystem-dev libboost-program-options-dev libboost-system-dev\r
+\r
+# generate configure script\r
+cd redismodule\r
+autoreconf --install\r
+cd ..\r
+curl -L https://github.com/cpputest/cpputest/releases/download/v3.8/cpputest-3.8.tar.gz | \\r
+ tar --strip-components=1 -xzf -\r
+cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_COVERAGE=ON -DMEMORY_LEAK_DETECTION=OFF .\r
+sudo make install\r
+echo "--> setup-sdl-build-deb.sh ends"
\ No newline at end of file
jobs:
- gerrit-info-yaml-verify
-- tracelibcpp_docker_common: &tracelibcpp_docker_common
- # values apply to all tracelibcpp docker projects
- name: tracelibcpp-docker-common
- # git repo
+- tracelibcpp_common: &tracelibcpp_common
+ name: tracelibcpp-common
+ # git repo
project: ric-plt/tracelibcpp
# jenkins job name prefix
project-name: ric-plt-tracelibcpp
- # maven settings file has docker credentials
+ # maven settings file has credentials to archive artifacts
mvn-settings: ric-plt-tracelibcpp-settings
+ # 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
+ # pre-build scripts for CMake templates:
+ # install alien package to build RPMS
+ # install RMR per version file in repo
+ pre-build: !include-raw-escape:
+ - ../shell/install-deb-alien.sh
+ # skip install in cmake-build.sh
+ install: false
+# verify every commit
- project:
- <<: *tracelibcpp_docker_common
- name: ric-plt-tracelibcpp
- # image name, altho it is never pushed
- docker-name: '{name}'
- # use host network
- docker-build-args: '--network=host -f ci/Dockerfile'
- # image tag; use a fixed value
- container-tag-method: latest
+ <<: *tracelibcpp_common
+ name: tracelibcpp-verify
+ cmake-opts: -DDEV_PKG=1
+ make-opts: package test ARGS=-V
jobs:
- - gerrit-docker-verify
- - oran-gerrit-docker-ci-pc-merge
+ - gerrit-cmake-verify
stream:
- master:
branch: master
+# development library - package and publish
- project:
+ <<: *tracelibcpp_common
+ name: ric-plt-tracelibcpp-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 - package and publish
+- project:
+ <<: *tracelibcpp_common
+ name: ric-plt-tracelibcpp-rt
+ project-name: '{name}'
+ cmake-opts: -DDEV_PKG=0
+ make-opts: package
+ install-prefix: /usr/local
+ jobs:
+ - gerrit-cmake-packagecloud-stage
+ stream:
+ - master:
+ branch: master
+
+# promote deb/rpm from staging to release at PackageCloud.io
+- project:
+ <<: *tracelibcpp_common
name: ric-plt-tracelibcpp-release
- project: ric-plt/tracelibcpp
- project-name: ric-plt-tracelibcpp
+ # 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: tracelibcpp-sonarqube
+ <<: *tracelibcpp_common
+ make-opts: -j8 all
+ 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.scanner.force-deprecated-java-version=true
+ sonar.build.sourceEncoding=UTF-8
+ sonar.sources=src
+ sonar.cfamily.build-wrapper-output=$WORKSPACE/bw-output
+ sonar.cfamily.gcov.reportsPath=test
+ jobs:
+ - gerrit-cmake-sonarqube
mvn-settings: sim-o1-interface-settings
# source of docker tag
container-tag-method: yaml-file
- docker-root: ntsimulator
+ # if no container-tag-yaml-dir is defined, container-tag.yml is taken from the docker-root
build-node: ubuntu1804-docker-4c-4g
jobs:
- '{project-name}-gerrit-docker-jobs'
- project:
<<: *sim_o1_interface_docker
- name: sim-o1-interface-ntsim-manager
+ name: sim-o1-interface-ntsim-ng-base
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: 'o-ran-sc/ntsim-manager'
+ docker-name: 'o-ran-sc/nts-ng-base'
# dockerfile is in subdir
- docker-build-args: '--network=host -f deploy/nts-manager/Dockerfile'
- # tag file is in subdir
- container-tag-yaml-dir: ntsimulator/deploy/nts-manager
+ docker-build-args: '--network=host -f deploy/base/ubuntu.Dockerfile'
+ # tag file latest, since it is base for others
+ container-tag-method: latest
+ docker-root: ntsimulator
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: 'ntsimulator/deploy/nts-manager/.*'
+ pattern: 'ntsimulator/ntsim-ng/.*'
- compare-type: REG_EXP
- pattern: 'ntsimulator/src/ntsimulator-manager/.*'
- - compare-type: REG_EXP
- pattern: 'ntsimulator/yang/nts-manager/.*'
+ pattern: 'ntsimulator/deploy/base/.*'
- project:
<<: *sim_o1_interface_docker
- name: sim-o1-interface-o-ran-ru-fh
+ name: sim-o1-interface-ntsim-ng-manager
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: 'o-ran-sc/ntsim-o-ran-ru-fh'
+ docker-name: 'o-ran-sc/ntsim-ng-manager'
# dockerfile is in subdir
- docker-build-args: '--network=host -f deploy/o-ran/ru-fh/Dockerfile'
- # tag file is in subdir
- container-tag-yaml-dir: ntsimulator/deploy/o-ran/ru-fh
+ docker-build-args: '--network=host -f ubuntu.Dockerfile'
+ docker-root: ntsimulator/deploy/nts-manager
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: 'ntsimulator/.*'
+ pattern: 'ntsimulator/deploy/nts-manager/.*'
- project:
<<: *sim_o1_interface_docker
- name: sim-o1-interface-o-ran-ru
+ name: sim-o1-interface-ntsim-ng-o-ran-fh
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: 'o-ran-sc/ntsim-o-ran-ru'
+ docker-name: ' o-ran-sc/nts-ng-o-ran-fh'
# dockerfile is in subdir
- docker-build-args: '--network=host -f deploy/o-ran-sc/o-ran-ru/Dockerfile'
- # tag file is in subdir
- container-tag-yaml-dir: ntsimulator/deploy/o-ran-sc/o-ran-ru
+ docker-build-args: '--network=host -f ubuntu.Dockerfile'
+ docker-root: ntsimulator/deploy/o-ran
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: 'ntsimulator/.*'
+ pattern: 'ntsimulator/deploy/o-ran/.*'
- project:
<<: *sim_o1_interface_docker
- name: sim-o1-interface-x-ran
+ name: sim-o1-interface-ntsim-ng-x-ran
# jenkins job name prefix
project-name: '{name}'
# image name
- docker-name: 'o-ran-sc/ntsim-x-ran'
+ docker-name: 'o-ran-sc/nts-ng-x-ran'
# dockerfile is in subdir
- docker-build-args: '--network=host -f deploy/x-ran/Dockerfile'
- # tag file is in subdir
- container-tag-yaml-dir: ntsimulator/deploy/x-ran
+ docker-build-args: '--network=host -f ubuntu.Dockerfile'
+ docker-root: ntsimulator/deploy/x-ran
gerrit_trigger_file_paths:
- compare-type: REG_EXP
- pattern: 'ntsimulator/.*'
+ pattern: 'ntsimulator/deploy/x-ran/.*'
- project:
<<: *sim_o1_interface_docker
--- /dev/null
+---
+- project:
+ name: smo-a1-project-view
+ project-name: smo-a1
+ views:
+ - project-view
+
+- project:
+ name: smo-a1-info
+ project: smo/a1
+ project-name: smo-a1
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
--- /dev/null
+---
+- project:
+ name: smo-o1-project-view
+ project-name: smo-o1
+ views:
+ - project-view
+
+- project:
+ name: smo-o1-info
+ project: smo/o1
+ project-name: smo-o1
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
--- /dev/null
+---
+- project:
+ name: smo-ves-project-view
+ project-name: smo-ves
+ views:
+ - project-view
+
+- project:
+ name: smo-ves-info
+ project: smo/ves
+ project-name: smo-ves
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify