--- /dev/null
+#!/bin/bash
+# Installs NNG then run a build script in the repository
+# Assumes ubuntu - uses apt-get
+
+echo "--> build-alarm-go-ubuntu.sh"
+
+echo "Install packages"
+sudo apt-get install -y cmake ninja-build
+
+# NNG repo is not frequently tagged so it's pinned to a commit hash.
+# This commit provides fix to the proxy-reconnect
+# bug that we identified: https://github.com/nanomsg/nng/issues/970
+echo "Clone and build NNG"
+git clone https://github.com/nanomsg/nng.git
+(cd nng \
+ && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \
+ && mkdir build \
+ && cd build \
+ && cmake3 -DBUILD_SHARED_LIBS=1 -G Ninja .. \
+ && ninja-build \
+ && sudo ninja-build install)
+
+cmd="./adapter/build_adapter.sh"
+echo "INFO: invoking build script: $cmd"
+$cmd
+
+echo "--> build-alarm-go-ubuntu.sh ends"
---
+- project:
+ name: ric-plt-alarm-go-project-view
+ project-name: ric-plt-alarm-go
+ views:
+ - project-view
+
- project:
name: ric-plt-alarm-go-info
project: ric-plt/alarm-go
build-node: centos7-builder-1c-1g
jobs:
- gerrit-info-yaml-verify
+
+- alarm_go_common: &alarm_go_common
+ # values apply to all projects
+ name: alarm-go-common
+ # git repo
+ project: ric-plt/alarm-go
+ # jenkins job name prefix
+ project-name: ric-plt-alarm-go
+ # maven settings file has docker credentials
+ mvn-settings: ric-plt-alarm-go-settings
+
+- project:
+ <<: *alarm_go_common
+ name: ric-plt-alarm-go-docker
+ # image name
+ docker-name: 'o-ran-sc/ric-plt-alarm-go'
+ # source of docker tag
+ container-tag-method: yaml-file
+ container-tag-yaml-dir: adapter
+ # use host network
+ docker-build-args: '-f adapter/Dockerfile --network=host'
+ build-node: ubuntu1804-docker-4c-4g
+ stream:
+ - master:
+ branch: master
+ jobs:
+ - '{project-name}-gerrit-docker-jobs'
+
+- project:
+ <<: *alarm_go_common
+ name: ric-plt-alarm-go-sonarqube
+ # docker-enabled nodes have golang
+ # build script needs ubuntu
+ build-node: ubuntu1804-docker-2c-8g
+ sonar-prescan-script: !include-raw-escape: build-alarm-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=coverage.xml
+ # Inclusions
+ sonar.inclusions=**/*.go
+ # Exclusions
+ sonar.exclusions=**/*_test.go
+ jobs:
+ - gerrit-sonar-prescan-script