Skip to content

Commit 6b1c739

Browse files
committed
RDKEMW-4128 : Coverity integration
1 parent 4a96421 commit 6b1c739

File tree

4 files changed

+238
-0
lines changed

4 files changed

+238
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Build Component in Native Environment
2+
3+
on:
4+
push:
5+
branches: [ main, 'sprint/**', 'release/**', develop ]
6+
pull_request:
7+
branches: [ main, 'sprint/**', 'release/**', topic/RDK*, develop ]
8+
9+
jobs:
10+
build-devicesettings-on-pr:
11+
name: Build devicesettings component in github rdkcentral
12+
runs-on: ubuntu-latest
13+
container:
14+
image: ghcr.io/rdkcentral/docker-rdk-ci:latest
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v3
19+
20+
- name: native build
21+
run: |
22+
chmod +x build_dependencies.sh rdk_build.sh
23+
sh -e build_dependencies.sh
24+
bash -e rdk_build.sh
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.RDKCM_RDKE }}
27+
RDK_PLATFORM_SOC: broadcom

build_dependencies.sh

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
#!/bin/bash
2+
set -x
3+
set -e
4+
##############################
5+
GITHUB_WORKSPACE="${PWD}"
6+
ls -la ${GITHUB_WORKSPACE}
7+
cd ${GITHUB_WORKSPACE}
8+
9+
# # #############################
10+
#1. Install Dependencies and packages
11+
12+
apt update
13+
apt install -y libsqlite3-dev libcurl4-openssl-dev valgrind lcov clang libsystemd-dev libboost-all-dev libwebsocketpp-dev meson libcunit1 libcunit1-dev curl protobuf-compiler-grpc libgrpc-dev libgrpc++-dev libunwind-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
14+
pip install jsonref
15+
16+
############################
17+
# Build trevor-base64
18+
if [ ! -d "trower-base64" ]; then
19+
git clone https://github.com/xmidt-org/trower-base64.git
20+
fi
21+
cd trower-base64
22+
meson setup --warnlevel 3 --werror build
23+
ninja -C build
24+
ninja -C build install
25+
cd ..
26+
###########################################
27+
# Clone the required repositories
28+
29+
30+
git clone --branch R4.4.3 https://github.com/rdkcentral/ThunderTools.git
31+
32+
git clone --branch R4.4.1 https://github.com/rdkcentral/Thunder.git
33+
34+
git clone --branch main https://github.com/rdkcentral/entservices-apis.git
35+
36+
git clone https://$GITHUB_TOKEN@github.com/rdkcentral/entservices-testframework.git
37+
38+
############################
39+
# Build Thunder-Tools
40+
echo "======================================================================================"
41+
echo "buliding thunderTools"
42+
cd ThunderTools
43+
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/Tests/L1Tests/patches/00010-R4.4-Add-support-for-project-dir.patch
44+
cd -
45+
46+
47+
cmake -G Ninja -S ThunderTools -B build/ThunderTools \
48+
-DEXCEPTIONS_ENABLE=ON \
49+
-DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install/usr" \
50+
-DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \
51+
-DGENERIC_CMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \
52+
53+
cmake --build build/ThunderTools --target install
54+
55+
56+
############################
57+
# Build Thunder
58+
echo "======================================================================================"
59+
echo "buliding thunder"
60+
61+
cd Thunder
62+
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/Tests/L2Tests/patches/Use_Legact_Alt_Based_On_ThunderTools_R4.4.3.patch
63+
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/Tests/L2Tests/patches/error_code_R4_4.patch
64+
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/Tests/L1Tests/patches/1004-Add-support-for-project-dir.patch
65+
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/Tests/L1Tests/patches/RDKEMW-733-Add-ENTOS-IDS.patch
66+
cd -
67+
68+
cmake -G Ninja -S Thunder -B build/Thunder \
69+
-DMESSAGING=ON \
70+
-DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install/usr" \
71+
-DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \
72+
-DGENERIC_CMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \
73+
-DBUILD_TYPE=Debug \
74+
-DBINDING=127.0.0.1 \
75+
-DPORT=55555 \
76+
-DEXCEPTIONS_ENABLE=ON \
77+
78+
cmake --build build/Thunder --target install
79+
80+
81+
############################
82+
# Build entservices-apis
83+
echo "======================================================================================"
84+
echo "buliding entservices-apis"
85+
cd entservices-apis
86+
rm -rf jsonrpc/DTV.json
87+
cd ..
88+
89+
cmake -G Ninja -S entservices-apis -B build/entservices-apis \
90+
-DEXCEPTIONS_ENABLE=ON \
91+
-DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install/usr" \
92+
-DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \
93+
94+
cmake --build build/entservices-apis --target install
95+
96+
############################
97+
# generating extrnal headers
98+
cd $GITHUB_WORKSPACE
99+
mkdir -p hal/
100+
git clone --branch main https://github.com/rdkcentral/rdk-halif-device_settings.git hal/
101+
mkdir -p hal/src
102+
touch hal/src/Makefile
103+
printf "\nall:\n\t@echo \"Nothing to build.\"\nuninstall:\n\t@echo \"Nothing to uninstall.\"\nclean:\n\t@echo \"Nothing to clean.\"\n" > hal/src/Makefile
104+
chmod -R 777 hal/
105+
cd test
106+
echo " Empty mocks creation to avoid compilation errors"
107+
echo "======================================================================================"
108+
mkdir -p headers
109+
mkdir -p headers/audiocapturemgr
110+
mkdir -p headers/rdk
111+
#mkdir -p headers/rdk/ds
112+
mkdir -p headers/rdk/iarmbus
113+
mkdir -p headers/rdk/iarmmgrs-hal
114+
#mkdir -p headers/rdk/halif/
115+
#mkdir -p headers/rdk/halif/deepsleep-manager
116+
mkdir -p headers/ccec
117+
mkdir -p headers/ccec/drivers
118+
mkdir -p headers/ccec/host
119+
mkdir -p headers/websocket
120+
121+
mkdir -p headers/network
122+
mkdir -p headers/proc
123+
echo "dir created successfully"
124+
echo "======================================================================================"
125+
126+
echo "======================================================================================"
127+
echo "empty headers creation"
128+
cd headers
129+
touch audiocapturemgr/audiocapturemgr_iarm.h
130+
touch ccec/drivers/CecIARMBusMgr.h
131+
touch ccec/FrameListener.hpp
132+
touch ccec/Connection.hpp
133+
touch ccec/Assert.hpp
134+
touch ccec/Messages.hpp
135+
touch ccec/MessageDecoder.hpp
136+
touch ccec/MessageProcessor.hpp
137+
touch ccec/CECFrame.hpp
138+
touch ccec/MessageEncoder.hpp
139+
touch ccec/host/RDK.hpp
140+
touch dsRpc.h
141+
touch websocket/URL.h
142+
touch rdk/iarmbus/libIARM.h
143+
touch rdk/iarmbus/libIBus.h
144+
touch rdk/iarmbus/libIBusDaemon.h
145+
touch rdk/iarmmgrs-hal/deepSleepMgr.h
146+
touch rdk/iarmmgrs-hal/mfrMgr.h
147+
touch rdk/iarmmgrs-hal/pwrMgr.h
148+
touch rdk/iarmmgrs-hal/sysMgr.h
149+
touch network/wifiSrvMgrIarmIf.h
150+
touch network/netsrvmgrIarm.h
151+
touch libudev.h
152+
touch rfcapi.h
153+
touch rbus.h
154+
touch telemetry_busmessage_sender.h
155+
touch maintenanceMGR.h
156+
touch pkg.h
157+
touch secure_wrapper.h
158+
touch wpa_ctrl.h
159+
touch btmgr.h
160+
touch rdk_logger_milestone.h
161+
echo "current working dir: "${PWD}
162+
echo "files created successfully"
163+
echo "======================================================================================"
164+
165+
cd ../../
166+
#cp -r /usr/include/gstreamer-1.0/gst /usr/include/glib-2.0/* /usr/lib/x86_64-linux-gnu/glib-2.0/include/* /usr/local/include/trower-base64/base64.h .
167+
168+
ls -la ${GITHUB_WORKSPACE}

cov_build.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/bin/bash
2+
set -e
3+
set -x
4+
##############################
5+
GITHUB_WORKSPACE="${PWD}"
6+
ls -la ${GITHUB_WORKSPACE}
7+
############################
8+
# Build devicesettings
9+
echo "======================================================================================"
10+
echo "building devicesettings"
11+
12+
cd ${GITHUB_WORKSPACE}
13+
cmake -G Ninja -S "$GITHUB_WORKSPACE" -B build/devicesettings \
14+
-DUSE_THUNDER_R4=ON \
15+
-DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install/usr" \
16+
-DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \
17+
-DCMAKE_VERBOSE_MAKEFILE=ON \
18+
-DCMAKE_DISABLE_FIND_PACKAGE_IARMBus=ON \
19+
-DCMAKE_DISABLE_FIND_PACKAGE_RFC=ON \
20+
-DCMAKE_DISABLE_FIND_PACKAGE_DS=ON \
21+
-DCOMCAST_CONFIG=OFF \
22+
-DRDK_SERVICES_COVERITY=ON \
23+
-DRDK_SERVICES_L1_TEST=ON \
24+
-DDS_FOUND=ON \
25+
-DPLUGIN_FIRMWAREUPDATE=ON \
26+
-DPLUGIN_MAINTENANCEMANAGER=ON \
27+
-DCMAKE_CXX_FLAGS="-DEXCEPTIONS_ENABLE=ON \
28+
-I ${GITHUB_WORKSPACE}/entservices-testframework/Tests/headers/rdk/iarmbus \
29+
-I ${GITHUB_WORKSPACE}/entservices-testframework/Tests/headers/rdk/iarmmgrs-hal \
30+
-include ${GITHUB_WORKSPACE}/entservices-testframework/Tests/mocks/Iarm.h \
31+
--coverage -Wall -Werror -Wno-error=format \
32+
-Wl,-wrap,system -Wl,-wrap,popen -Wl,-wrap,syslog -Wl,-wrap,wpa_ctrl_open -Wl,-wrap,wpa_ctrl_request -Wl,-wrap,wpa_ctrl_close -Wl,-wrap,wpa_ctrl_pending -Wl,-wrap,wpa_ctrl_recv -Wl,-wrap,wpa_ctrl_attach \
33+
-DENABLE_TELEMETRY_LOGGING -DUSE_IARMBUS \
34+
-DENABLE_SYSTEM_GET_STORE_DEMO_LINK -DENABLE_DEEP_SLEEP \
35+
-DENABLE_SET_WAKEUP_SRC_CONFIG -DENABLE_THERMAL_PROTECTION \
36+
-DUSE_DRM_SCREENCAPTURE -DHAS_API_SYSTEM -DHAS_API_POWERSTATE \
37+
-DHAS_RBUS -DDISABLE_SECURITY_TOKEN -DENABLE_DEVICE_MANUFACTURER_INFO -DUSE_THUNDER_R4=ON -DTHUNDER_VERSION=4 -DTHUNDER_VERSION_MAJOR=4 -DTHUNDER_VERSION_MINOR=4"
38+
39+
cmake --build build/devicesettings --target install
40+
echo "======================================================================================"
41+
exit 0

rdk_build.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ function build()
136136
DeviceSettings_PATH=${CC_PATH}
137137
CURR_DIR=`pwd`
138138

139+
echo "DeviceSettings_PATH: $DeviceSettings_PATH"
140+
cat $DeviceSettings_PATH/hal/src/Makefile
139141
cd $DeviceSettings_PATH
140142
echo "Setting Device Settings Build Environment Variables..."
141143

0 commit comments

Comments
 (0)