Merge "Add PyPI stage job, drop merge for com/pylog"
authorJessica Wagantall <jwagantall@linuxfoundation.org>
Mon, 6 Apr 2020 16:44:59 +0000 (16:44 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Mon, 6 Apr 2020 16:44:59 +0000 (16:44 +0000)
jenkins-config/clouds/openstack/cattle/centos8-builder-1c-1g.cfg [new file with mode: 0644]
jjb/ci-management/ci-packer.yaml
jjb/it-dev/it-dev.yaml
jjb/oran-templates/oran-c-cpp-jobs.yaml
jjb/portal-ric-dashboard/portal-ric-dashboard.yaml
jjb/ric-app-qp-driver/ric-app-qp-driver.yaml
jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml
jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml
jjb/ric-plt-sdlpy/ric-plt-sdlpy.yaml
jjb/shell/cmake-package.sh [new file with mode: 0644]
packer/common-packer

diff --git a/jenkins-config/clouds/openstack/cattle/centos8-builder-1c-1g.cfg b/jenkins-config/clouds/openstack/cattle/centos8-builder-1c-1g.cfg
new file mode 100644 (file)
index 0000000..1e1fddc
--- /dev/null
@@ -0,0 +1,3 @@
+IMAGE_NAME=ZZCI - CentOS 8 - builder - x86_64 - 20200403-151332.560
+VOLUME_SIZE=20
+HARDWARE_ID=v2-highcpu-1
index 19d91f9..cec36e4 100644 (file)
@@ -25,6 +25,7 @@
     templates: builder
     platforms:
       - centos-7
+      - centos-8
       - ubuntu-18.04
 
 - project:
index 1f3bd09..6d9ccd6 100644 (file)
@@ -85,7 +85,8 @@
        pattern: 'xapp_onboarder/.*'
     parallel: false
     jobs:
-      - '{project-name}-gerrit-pypi-jobs'
+      - gerrit-pypi-verify
+      - gerrit-pypi-stage
     stream:
       - master:
           branch: master
index c43e735..2291c42 100644 (file)
@@ -97,7 +97,7 @@
             - file-id: ".packagecloud"
               target: "$HOME/.packagecloud"
       - shell: "{pre-build}"
-      - shell: !include-raw-escape: ../../global-jjb/shell/cmake-build.sh
+      - shell: !include-raw-escape: ../shell/cmake-package.sh
       - oran-packagecloud-push:
           build-dir: "{build-dir}"
           packagecloud-account: "{packagecloud-account}"
index 908e578..83c3945 100644 (file)
@@ -9,7 +9,7 @@
     name: portal-ric-dashboard-info
     project: portal/ric-dashboard
     project-name: portal-ric-dashboard
-    build-node: centos7-builder-1c-1g
+    build-node: centos8-builder-1c-1g
     jobs:
       - gerrit-info-yaml-verify
 
index 7c74a02..ef4ba97 100644 (file)
@@ -38,7 +38,7 @@
     <<: *qpd_common
     name: ric-app-qp-driver-docker
     # image name
-    docker-name: 'o-ran-sc/{name}'
+    docker-name: 'o-ran-sc/ric-app-qp-driver'
     # source of docker tag
     container-tag-method: yaml-file
     # use host network
index 5b4766f..144b3c7 100644 (file)
@@ -73,7 +73,7 @@
         # Source
         sonar.sources=E2Manager
         # Unit tests
-        sonar.go.coverage.reportPaths=coverage.txt
+        sonar.go.coverage.reportPaths=E2Manager/coverage.txt
         # Inclusions
         sonar.inclusions=**/**.go
         # Exclusions
index 60c2f2b..ff3fae1 100644 (file)
     # jenkins job name prefix
     project-name: ric-plt-lib-rmr-c
     # test scripts depend on this name
-    build-dir: $WORKSPACE/build
-    # use an ubuntu for its modern compiler
-    build-node: ubuntu1804-builder-2c-2g
-    # verify and sonar use cmake
-    cmake-opts: -DDEV_PKG=1
-    make-opts: install test ARGS=-V
+    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 c changes on every branch
+# verify every commit
 - project:
-    name: ric-plt-lib-rmr-c-verify
     <<: *rmr_common
     <<: *rmr_c_common
+    name: ric-plt-lib-rmr-c-verify
+    project-name: ric-plt-lib-rmr-c
+    cmake-opts: -DDEV_PKG=1
+    make-opts: package test ARGS=-V
     jobs:
       - gerrit-cmake-verify
     stream:
-      - all:
-          branch: '*'
+      - master:
+          branch: master
 
-# build deb/rpm using Docker and publish to PackageCloud.io
-# on merge to master branch
+# development library - package and publish
 - project:
     <<: *rmr_common
     <<: *rmr_c_common
-    name: ric-plt-lib-rmr-c-package
-    # need docker
-    build-node: ubuntu1804-docker-4c-4g
-    # image is not pushed, use simple name and tag
-    docker-name: '{name}'
-    container-tag-method: latest
-    # use host network for network resources
-    docker-build-args: '--network=host -f ci/Dockerfile'
+    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:
+      - oran-gerrit-cmake-pc-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:
-      - oran-gerrit-docker-ci-pc-merge
+      - oran-gerrit-cmake-pc-stage
     stream:
       - master:
           branch: master
 
 # analyze C code and test coverage
 - project:
-    name: ric-plt-lib-rmr-c-sonar
+    name: ric-plt-lib-rmr-c-sonarqube
     <<: *rmr_common
     <<: *rmr_c_common
+    make-opts: test ARGS=-V
     sonar-project-file: ""
     sonar-properties: |
         sonar.login={sonarcloud_api_token}
index c165935..59b206a 100644 (file)
@@ -33,7 +33,8 @@
         pattern: 'ricsdl-package/.*'
     tox-dir: ricsdl-package
     jobs:
-      - '{project-name}-gerrit-pypi-jobs'
+      - gerrit-pypi-verify
+      - gerrit-pypi-stage
     stream:
       - master:
           branch: master
diff --git a/jjb/shell/cmake-package.sh b/jjb/shell/cmake-package.sh
new file mode 100644 (file)
index 0000000..021f660
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2020 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+
+# Creates a build directory then invokes cmake and make
+# from that dir with only the specified options/targets.
+# Supports projects that create DEB/RPM package files for
+# upload to PackageCloud or other repository, which must
+# use a system install prefix like /usr/local.  Calling
+# the "install" goal with a system prefix requires sudo,
+# but building a package doesn't require the install step.
+# Prereqs:
+# The build minion has cmake, make, gcc etc.
+# Environment variables:
+# WORKSPACE is a non-empty path (required)
+# CMAKE_INSTALL_PREFIX is a non-empty path (required)
+# BUILD_DIR is a path (optional; has usable default)
+# CMAKE_OPTS has options for cmake (optional, empty default)
+# MAKE_OPTS has options for make (optional, empty default)
+
+echo "---> cmake-package.sh"
+
+build_dir="${BUILD_DIR:-$WORKSPACE/build}"
+cmake_opts="${CMAKE_OPTS:-}"
+make_opts="${MAKE_OPTS:-}"
+echo "build_dir:  $build_dir"
+echo "cmake_opts: $cmake_opts"
+echo "make_opts:  $make_opts"
+
+# be careful and verbose
+set -eux -o pipefail
+
+mkdir -p "$build_dir"
+cd "$build_dir" || exit
+cmake -version
+# $cmake_opts needs to wordsplit to pass options.
+# shellcheck disable=SC2086
+eval cmake -DCMAKE_INSTALL_PREFIX="$INSTALL_PREFIX" $cmake_opts ..
+make -version
+# $make_opts needs to wordsplit to pass options.
+# shellcheck disable=SC2086
+make $make_opts
+
+echo "---> cmake-package.sh ends"
index da5d5cf..6d13061 160000 (submodule)
@@ -1 +1 @@
-Subproject commit da5d5cf92fafcdc0f31a76d2955e8ac9c327c100
+Subproject commit 6d13061d653ffe84de00a904c6b49f4caaee2e30