diff --git a/.github/workflows/native_full_build.yml b/.github/workflows/native_full_build.yml new file mode 100755 index 00000000..757298bf --- /dev/null +++ b/.github/workflows/native_full_build.yml @@ -0,0 +1,25 @@ +name: Build Component in Native Environment + +on: + push: + branches: [ main, 'sprint/**', 'release/**', topic/*, develop, topic/RDKEMW-4129 ] + pull_request: + branches: [ main, 'sprint/**', 'release/**', topic/*, develop, topic/RDKEMW-4129 ] + +jobs: + build-entservices-on-pr: + name: Build xdialserver component in github rdkcentral + runs-on: ubuntu-latest + container: + image: ghcr.io/rdkcentral/docker-rdk-ci:latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: native build + run: | + sh -x build_dependencies.sh + sh -x cov_build.sh + env: + GITHUB_TOKEN: ${{ secrets.RDKCM_RDKE }} diff --git a/build_dependencies.sh b/build_dependencies.sh new file mode 100755 index 00000000..c755d997 --- /dev/null +++ b/build_dependencies.sh @@ -0,0 +1,95 @@ +#!/bin/bash +set -x +set -e +############################## +GITHUB_WORKSPACE="${PWD}" +ls -la ${GITHUB_WORKSPACE} +cd ${GITHUB_WORKSPACE} + +# # ############################# +#1. Install Dependencies and packages + +apt update +#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 +pip install jsonref + +############################ +# Build trevor-base64 +if [ ! -d "trower-base64" ]; then +git clone https://github.com/xmidt-org/trower-base64.git +fi +cd trower-base64 +meson setup --warnlevel 3 --werror build +ninja -C build +ninja -C build install +cd .. +########################################### +# Clone the required repositories + + +git clone --branch R4.4.3 https://github.com/rdkcentral/ThunderTools.git + +git clone --branch R4.4.1 https://github.com/rdkcentral/Thunder.git + +git clone --branch main https://github.com/rdkcentral/entservices-apis.git + +git clone https://$GITHUB_TOKEN@github.com/rdkcentral/entservices-testframework.git + +############################ +# Build Thunder-Tools +echo "======================================================================================" +echo "buliding thunderTools" +cd ThunderTools +patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/00010-R4.4-Add-support-for-project-dir.patch +cd - + + +cmake -G Ninja -S ThunderTools -B build/ThunderTools \ + -DEXCEPTIONS_ENABLE=ON \ + -DCMAKE_INSTALL_PREFIX="/usr" \ + -DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \ + -DGENERIC_CMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \ + +cmake --build build/ThunderTools --target install + + +############################ +# Build Thunder +echo "======================================================================================" +echo "buliding thunder" + +cd Thunder +patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/Use_Legact_Alt_Based_On_ThunderTools_R4.4.3.patch +patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/error_code_R4_4.patch +patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/1004-Add-support-for-project-dir.patch +patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/RDKEMW-733-Add-ENTOS-IDS.patch +cd - + +cmake -G Ninja -S Thunder -B build/Thunder \ + -DMESSAGING=ON \ + -DCMAKE_INSTALL_PREFIX="/usr" \ + -DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \ + -DGENERIC_CMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \ + -DBUILD_TYPE=Debug \ + -DBINDING=127.0.0.1 \ + -DPORT=55555 \ + -DEXCEPTIONS_ENABLE=ON \ + +cmake --build build/Thunder --target install + + +############################ +# Build entservices-apis +echo "======================================================================================" +echo "buliding entservices-apis" +cd entservices-apis +rm -rf jsonrpc/DTV.json +cd .. + +cmake -G Ninja -S entservices-apis -B build/entservices-apis \ + -DEXCEPTIONS_ENABLE=ON \ + -DCMAKE_INSTALL_PREFIX="/usr" \ + -DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \ + +cmake --build build/entservices-apis --target install + diff --git a/cov_build.sh b/cov_build.sh new file mode 100755 index 00000000..54f3fb84 --- /dev/null +++ b/cov_build.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -x +set -e +############################## +GITHUB_WORKSPACE="${PWD}" +ls -la ${GITHUB_WORKSPACE} +############################ +# Build xdialserver +echo "buliding xdialserver" + +cd ${GITHUB_WORKSPACE} +cmake -G Ninja -S "$GITHUB_WORKSPACE" -B build/xdialserver \ +-DUSE_THUNDER_R4=ON \ +-DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install/usr" \ +-DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake" \ +-DCMAKE_VERBOSE_MAKEFILE=ON \ +-DCMAKE_CXX_FLAGS="-DEXCEPTIONS_ENABLE=ON \ +-I ${GITHUB_WORKSPACE}/Thunder/Source \ +-I ${GITHUB_WORKSPACE}/Thunder/Source/core" \ + +cmake --build build/xdialserver --target install +echo "======================================================================================" +exit 0