From 57da2da282420d4262384f67808ee3f9fb973aaf Mon Sep 17 00:00:00 2001 From: Alok Bhatt Date: Tue, 29 Sep 2020 10:46:07 +0000 Subject: [PATCH] Added sonar job to the ric-plt-sdlgo jjb template This change adds the job to trigger sonar scans on the ric-plt-sdlgo repo. Issue-ID: RIC-650 Signed-off-by: Alok Bhatt Change-Id: I3fee13a2572faf2f935da504f0d0e6acc3a8b361 --- jjb/ric-plt-sdlgo/prescan-sdlgo-go-ubuntu.sh | 69 ++++++++++++++++++++++++++++ jjb/ric-plt-sdlgo/ric-plt-sdlgo.yaml | 36 +++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 jjb/ric-plt-sdlgo/prescan-sdlgo-go-ubuntu.sh diff --git a/jjb/ric-plt-sdlgo/prescan-sdlgo-go-ubuntu.sh b/jjb/ric-plt-sdlgo/prescan-sdlgo-go-ubuntu.sh new file mode 100644 index 00000000..b9c27b5e --- /dev/null +++ b/jjb/ric-plt-sdlgo/prescan-sdlgo-go-ubuntu.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# Installs NNG then runs a build script in the repository +# Assumes ubuntu - uses apt-get + +echo "--> prescan-sdlgo-go-ubuntu.sh" + +set -ex + +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) +#!/bin/bash + +#================================================================================== +# Copyright (c) 2020 AT&T Intellectual Property. +# Copyright (c) 2020 Nokia +# +# 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. +#================================================================================== +# Go install, build, etc +export GOPATH=$HOME/go +export PATH=$GOPATH/bin:$PATH + +# xApp-framework stuff +export CFG_FILE=../config/config-file.json +export RMR_SEED_RT=../config/uta_rtg.rt + +GO111MODULE=on GO_ENABLED=0 GOOS=linux + +# setup version tag +if [ -f container-tag.yaml ] +then + tag=$(grep "tag:" container-tag.yaml | awk '{print $2}') +else + tag="no-tag-found" +fi + +hash=$(git rev-parse --short HEAD || true) + +# Build + +go build -a -installsuffix cgo -ldflags "-X main.Version=$tag -X main.Hash=$hash" -o ./cmd/*.go + +# Execute UT and measure coverage + +go test . -v -coverprofile cover.out || true + +echo "--> build_sdlgo_ubuntu.sh ends" + +echo "--> prescan-sdlgo-go-ubuntu.sh ends" diff --git a/jjb/ric-plt-sdlgo/ric-plt-sdlgo.yaml b/jjb/ric-plt-sdlgo/ric-plt-sdlgo.yaml index c2cea4b0..3e2a454d 100644 --- a/jjb/ric-plt-sdlgo/ric-plt-sdlgo.yaml +++ b/jjb/ric-plt-sdlgo/ric-plt-sdlgo.yaml @@ -38,3 +38,39 @@ stream: - master: branch: master +- project: + <<: *sdlgo_docker_common + name: ric-plt-sdlgo-go-sonarqube + # docker-enabled nodes have golang + # build script needs ubuntu + build-node: ubuntu1804-docker-4c-4g + sonar-prescan-script: !include-raw-escape: prescan-sdlgo-go-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=. + # Unit tests + sonar.go.coverage.reportPaths=./cover.out,/internal/sdlgoredis/cover.out + # Inclusions + sonar.inclusions=**/*.go + # Exclusions + sonar.exclusions=**/*_test.go + jobs: + - gerrit-sonar-prescan-script + +- project: + <<: *sdlgo_docker_common + name: ric-plt-sdlgo-go-release + build-node: centos7-docker-2c-8g + jobs: + - '{project-name}-gerrit-release-jobs' -- 2.16.6