From: Lott, Christopher (cl778h) Date: Fri, 7 Feb 2020 18:38:19 +0000 (-0500) Subject: Define Sonar job for E2Mgr which uses golang X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=ci-management.git;a=commitdiff_plain;h=6f1e4a5d0228befc2708469c4df985e3deee1876 Define Sonar job for E2Mgr which uses golang Use prescan builder shell script to install prereqs on an ubuntu build node Issue-ID: INT-81 Signed-off-by: Lott, Christopher (cl778h) Change-Id: Ia84f894a6a4b86afeabf3c66ac497f65444f159c --- diff --git a/jjb/ric-plt-e2mgr/prescan-e2mgr-ubuntu.sh b/jjb/ric-plt-e2mgr/prescan-e2mgr-ubuntu.sh new file mode 100644 index 00000000..3a67d1d9 --- /dev/null +++ b/jjb/ric-plt-e2mgr/prescan-e2mgr-ubuntu.sh @@ -0,0 +1,44 @@ +#!/bin/sh +############################################################################## +# +# 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. +# +############################################################################## + +# Installs NNG then runs a build script in the repository +# Assumes ubuntu - uses apt-get + +echo "--> prescan-e2mgr-ubuntu.sh" + +set -ex + +sudo apt-get update && sudo apt-get install -y cmake ninja-build + +# NNG repo is not frequently tagged so it's pinned to a commit hash. +# This commit repairs bug https://github.com/nanomsg/nng/issues/970 +git clone https://github.com/nanomsg/nng.git +(cd nng \ + && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \ + && mkdir build \ + && cd build \ + && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \ + && ninja \ + && sudo ninja install) + +# build script must start in this subdir +cd E2Manager +bash ./build-e2mgr-ubuntu.sh + +echo "--> prescan-e2mgr-ubuntu.sh ends" diff --git a/jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml b/jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml index 55ace218..bf7e817e 100644 --- a/jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml +++ b/jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml @@ -49,3 +49,34 @@ build-node: centos7-docker-2c-8g jobs: - '{project-name}-gerrit-release-jobs' + +- project: + name: ric-plt-e2mgr-sonar + project: ric-plt/e2mgr + project-name: ric-plt-e2mgr + # prescan script requires ubuntu + # golang is only on docker-enabled nodes + build-node: ubuntu1804-docker-4c-4g + sonar-prescan-script: !include-raw-escape: prescan-e2mgr-ubuntu.sh + sonar-project-file: "" + # use sonarcloud values from defaults.yaml + sonar-properties: | + # Required metadata + sonar.login={sonarcloud_api_token} + sonar.projectKey={sonarcloud_project_organization}_{project-name} + sonar.projectName={project-name} + sonar.organization={sonarcloud_project_organization} + # Encoding + sonar.build.sourceEncoding=UTF-8 + # Language + sonar.language=go + # Source + sonar.sources=E2Manager + # Unit tests + sonar.go.coverage.reportPaths=coverage.xml + # Inclusions + sonar.inclusions=**/**.go + # Exclusions + sonar.exclusions=**/mocks/**.go,**/tests/**.go + jobs: + - gerrit-sonar-prescan-script