From: Alok Bhatt Date: Tue, 29 Sep 2020 09:56:08 +0000 (+0000) Subject: Added sonar job to the com-golog jjb template X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=559b5a3a20961d872c25e20607d5a72d4fe83406;p=ci-management.git Added sonar job to the com-golog jjb template This change adds the job to trigger sonar scans on the com-golog repo. Issue-ID: RIC-648 Signed-off-by: Alok Bhatt Change-Id: I0070c3babb6f90c0b3d6f9622494d14ae01b59e6 --- diff --git a/jjb/com-golog/com-golog.yaml b/jjb/com-golog/com-golog.yaml index 51b2a23e..207293ca 100644 --- a/jjb/com-golog/com-golog.yaml +++ b/jjb/com-golog/com-golog.yaml @@ -38,3 +38,39 @@ stream: - master: branch: master +- project: + <<: *golog_docker_common + name: com-golog-go-sonarqube + # docker-enabled nodes have golang + # build script needs ubuntu + build-node: ubuntu1804-docker-4c-4g + sonar-prescan-script: !include-raw-escape: prescan-golog-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 + # Inclusions + sonar.inclusions=**/*.go + # Exclusions + sonar.exclusions=**/*_test.go + jobs: + - gerrit-sonar-prescan-script + +- project: + <<: *golog_docker_common + name: com-golog-go-release + build-node: centos7-docker-2c-8g + jobs: + - '{project-name}-gerrit-release-jobs' diff --git a/jjb/com-golog/prescan-golog-go-ubuntu.sh b/jjb/com-golog/prescan-golog-go-ubuntu.sh new file mode 100644 index 00000000..dc200708 --- /dev/null +++ b/jjb/com-golog/prescan-golog-go-ubuntu.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# Installs NNG then runs a build script in the repository +# Assumes ubuntu - uses apt-get + +echo "--> prescan-golog-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 + + +# Test and coverage +# install the go coverage tool helper +go get -v github.com/ory/go-acc +go-acc . -o cover.out + + +echo "--> build_com-golog_ubuntu.sh ends" + +echo "--> prescan-golog-go-ubuntu.sh ends"