Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | #================================================================================== |
| 4 | # Copyright (c) 2020 AT&T Intellectual Property. |
| 5 | # Copyright (c) 2020 Nokia |
| 6 | # |
| 7 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 8 | # you may not use this file except in compliance with the License. |
| 9 | # You may obtain a copy of the License at |
| 10 | # |
| 11 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 12 | # |
| 13 | # Unless required by applicable law or agreed to in writing, software |
| 14 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 15 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 16 | # See the License for the specific language governing permissions and |
| 17 | # limitations under the License. |
| 18 | #================================================================================== |
| 19 | |
Anssi Mannila | 43fe17e | 2020-11-05 14:06:54 +0200 | [diff] [blame] | 20 | #set -eux |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 21 | |
Abukar Mohamed | 121e8b6 | 2020-09-18 11:41:33 +0000 | [diff] [blame] | 22 | echo "--> build_ubuntu.sh starts" |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 23 | |
| 24 | # Install RMR from deb packages at packagecloud.io |
Juha Hyttinen | 5f9b88b | 2023-06-02 10:04:15 +0300 | [diff] [blame^] | 25 | rmr=rmr_4.9.0_amd64.deb |
wahidw | 2a5ec39 | 2020-12-08 06:30:32 +0000 | [diff] [blame] | 26 | wget --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/$rmr/download.deb |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 27 | sudo dpkg -i $rmr |
| 28 | rm $rmr |
Juha Hyttinen | 5f9b88b | 2023-06-02 10:04:15 +0300 | [diff] [blame^] | 29 | rmrdev=rmr-dev_4.9.0_amd64.deb |
wahidw | 2a5ec39 | 2020-12-08 06:30:32 +0000 | [diff] [blame] | 30 | wget --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/$rmrdev/download.deb |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 31 | sudo dpkg -i $rmrdev |
| 32 | rm $rmrdev |
| 33 | |
| 34 | # Required to find nng and rmr libs |
| 35 | export LD_LIBRARY_PATH=/usr/local/lib |
| 36 | |
manoj1 | 1402525 | 2021-10-29 13:05:57 +0000 | [diff] [blame] | 37 | # Installing the go version |
Juha Hyttinen | 5f9b88b | 2023-06-02 10:04:15 +0300 | [diff] [blame^] | 38 | GOLANG_VERSION=1.20.4 |
manoj1 | 1402525 | 2021-10-29 13:05:57 +0000 | [diff] [blame] | 39 | wget --quiet https://dl.google.com/go/go$GOLANG_VERSION.linux-amd64.tar.gz \ |
| 40 | && tar xvzf go$GOLANG_VERSION.linux-amd64.tar.gz -C /usr/local |
| 41 | PATH="/usr/local/go/bin:${PATH}" |
| 42 | GOPATH="/go" |
| 43 | rm go$GOLANG_VERSION.linux-amd64.tar.gz |
| 44 | |
| 45 | |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 46 | # Go install, build, etc |
| 47 | export GOPATH=$HOME/go |
| 48 | export PATH=$GOPATH/bin:$PATH |
| 49 | |
| 50 | # xApp-framework stuff |
| 51 | export CFG_FILE=../config/config-file.json |
| 52 | export RMR_SEED_RT=../config/uta_rtg.rt |
| 53 | |
vipin | 14323a9 | 2020-09-25 10:03:43 +0000 | [diff] [blame] | 54 | # xApp stuff |
Anssi Mannila | 43fe17e | 2020-11-05 14:06:54 +0200 | [diff] [blame] | 55 | export DEF_FILE=../../definitions/alarm-definition.json |
Anssi Mannila | 00894a4 | 2020-10-19 11:36:26 +0300 | [diff] [blame] | 56 | export PERF_DEF_FILE=../testresources/perf-alarm-definition.json |
| 57 | export PERF_OBJ_FILE=../testresources/perf-alarm-object.json |
vipin | 14323a9 | 2020-09-25 10:03:43 +0000 | [diff] [blame] | 58 | |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 59 | GO111MODULE=on GO_ENABLED=0 GOOS=linux |
| 60 | |
| 61 | # setup version tag |
Mohamed Abukar | 3649fae | 2020-10-30 23:51:39 +0200 | [diff] [blame] | 62 | if [ -f build/container-tag.yaml ] |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 63 | then |
Mohamed Abukar | 3649fae | 2020-10-30 23:51:39 +0200 | [diff] [blame] | 64 | tag=$(grep "tag:" build/container-tag.yaml | awk '{print $2}') |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 65 | else |
| 66 | tag="no-tag-found" |
| 67 | fi |
| 68 | |
| 69 | hash=$(git rev-parse --short HEAD || true) |
| 70 | |
Abukar Mohamed | 121e8b6 | 2020-09-18 11:41:33 +0000 | [diff] [blame] | 71 | ROOT_DIR=$PWD |
| 72 | |
Anssi Mannila | 00894a4 | 2020-10-19 11:36:26 +0300 | [diff] [blame] | 73 | # compile the CLI |
| 74 | cd ${ROOT_DIR}/cli && go build -a -installsuffix cgo alarm-cli.go |
| 75 | |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 76 | # Build |
Abukar Mohamed | 121e8b6 | 2020-09-18 11:41:33 +0000 | [diff] [blame] | 77 | cd ${ROOT_DIR}/manager && go build -a -installsuffix cgo -ldflags "-X main.Version=$tag -X main.Hash=$hash" -o alarm-manager ./cmd/*.go |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 78 | |
| 79 | # Execute UT and measure coverage for the Alarm Library |
Abukar Mohamed | 121e8b6 | 2020-09-18 11:41:33 +0000 | [diff] [blame] | 80 | cd ${ROOT_DIR}/alarm && go test . -v -coverprofile cover.out |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 81 | |
Anssi Mannila | 43fe17e | 2020-11-05 14:06:54 +0200 | [diff] [blame] | 82 | # Copy alarm/cover.out to alarm-go/cover.out |
| 83 | cd ${ROOT_DIR} && cat alarm/cover.out > coverage.out |
| 84 | |
Abukar Mohamed | 121e8b6 | 2020-09-18 11:41:33 +0000 | [diff] [blame] | 85 | # And for the Alarm Manager |
Anssi Mannila | 43fe17e | 2020-11-05 14:06:54 +0200 | [diff] [blame] | 86 | #cd ${ROOT_DIR}/manager && go test -v -p 1 -coverprofile cover.out ./cmd/ -c -o ./manager_test && ./manager_test |
| 87 | cd ${ROOT_DIR}/manager && GO111MODULE=on RMR_SEED_RT=../../config/uta_rtg.rt CFG_FILE=../../config/config-file.json go test -v -p 1 -cover -coverprofile=cover.out ./... |
| 88 | |
| 89 | # Remove first line of the manager/cover.out and append to alarm-go/coverity.out |
| 90 | cd ${ROOT_DIR} && sed '1d' manager/cover.out >> coverage.out |
| 91 | |
| 92 | cd ${ROOT_DIR} && GO111MODULE=on go tool cover -html=coverage.out -o coverage.html |
Mohamed Abukar | ebe58c2 | 2020-03-13 14:40:47 +0200 | [diff] [blame] | 93 | |
Abukar Mohamed | 121e8b6 | 2020-09-18 11:41:33 +0000 | [diff] [blame] | 94 | echo "--> build_ubuntu.sh ends" |