From c9f42a4c961f9265a16ec6023e81de3fd299c70c Mon Sep 17 00:00:00 2001 From: Alok Bhatt Date: Fri, 23 Oct 2020 09:11:07 +0000 Subject: [PATCH] Static code analysis for ric-plt-streaming-protobufs Added the job to trigger sonar scans for ric-plt-streaming-protobufs repo. Issue-Id: RIC-666 Signed-off-by: Alok Bhatt Change-Id: Ibfd26ca6a8cc709ef804d834e620792597d962a9 --- .../prescan-ric-plt-streaming-protobufs-ubuntu.sh | 34 +++++++++++ .../ric-plt-streaming-protobufs.yaml | 71 ++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 jjb/ric-plt-streaming-protobufs/prescan-ric-plt-streaming-protobufs-ubuntu.sh diff --git a/jjb/ric-plt-streaming-protobufs/prescan-ric-plt-streaming-protobufs-ubuntu.sh b/jjb/ric-plt-streaming-protobufs/prescan-ric-plt-streaming-protobufs-ubuntu.sh new file mode 100644 index 00000000..f60776dd --- /dev/null +++ b/jjb/ric-plt-streaming-protobufs/prescan-ric-plt-streaming-protobufs-ubuntu.sh @@ -0,0 +1,34 @@ +echo "starting prescan-ric-plt-streaming-protobufs-ubuntu.sh" + +#!/bin/sh +# +# Copyright (c) 2019 AT&T Intellectual Property. +# Copyright (c) 2018-2019 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. +# +# This source code is part of the near-RT RIC (RAN Intelligent Controller) +# platform project (RICP). +# Go install, build, etc +set -e + + +cd $WORKSPACE/protogen/go/streaming_protobufs + +export GO111MODULE=on +go mod download +#No _test.go file for coverage report + +go test $WORKSPACE/protogen/go/streaming_protobufs/ -v -coverprofile cover.out + +echo " prescan-ric-plt-streaming-protobufs-ubuntu.sh ends" diff --git a/jjb/ric-plt-streaming-protobufs/ric-plt-streaming-protobufs.yaml b/jjb/ric-plt-streaming-protobufs/ric-plt-streaming-protobufs.yaml index 094d5eab..11c2d6aa 100644 --- a/jjb/ric-plt-streaming-protobufs/ric-plt-streaming-protobufs.yaml +++ b/jjb/ric-plt-streaming-protobufs/ric-plt-streaming-protobufs.yaml @@ -1,4 +1,10 @@ --- +- project: + name: ric-plt-streaming-protobufs-project-view + project-name: ric-plt-streaming-protobufs + views: + - project-view + - project: name: ric-plt-streaming-protobufs-info project-name: ric-plt-streaming-protobufs @@ -6,3 +12,68 @@ build-node: centos7-builder-1c-1g jobs: - gerrit-info-yaml-verify + +- streaming-protobufs_docker_common: &streaming-protobufs_docker_common + # values apply to all streaming-protobufs docker projects + name: streaming-protobufs-docker-common + # git repo + project: ric-plt/streaming-protobufs + # jenkins job name prefix + project-name: ric-plt-streaming-protobufs + # maven settings file has docker credentials + mvn-settings: ric-plt-streaming-protobufs-settings + +# runs unit tests on verify only +- project: + <<: *streaming-protobufs_docker_common + name: ric-plt-streaming-protobufs + # 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 + jobs: + - gerrit-docker-verify + stream: + - master: + branch: master +- project: + <<: *streaming-protobufs_docker_common + name: ric-plt-streaming-protobufs-go-sonarqube + # docker-enabled nodes have golang + # build script needs ubuntu + build-node: ubuntu1804-docker-4c-4g + sonar-prescan-script: !include-raw-escape: prescan-ric-plt-streaming-protobufs-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: + <<: *streaming-protobufs_docker_common + name: ric-plt-streaming-protobufs-release + # maven release requires sigul which requires centos + # container release requires docker + build-node: centos7-docker-2c-8g + jobs: + - '{project-name}-gerrit-release-jobs' + -- 2.16.6