L1 Unit Tests for rdkNativeScript #108
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: L1 Unit Tests for rdkNativeScript | |
| permissions: | |
| contents: read | |
| checks: write | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [topic/RDKEMW-9461] | |
| pull_request: | |
| branches: [topic/RDKEMW-9461] | |
| env: | |
| AUTOMATICS_UNAME: ${{ secrets.AUTOMATICS_UNAME }} | |
| AUTOMATICS_PASSCODE: ${{ secrets.AUTOMATICS_PASSCODE }} | |
| jobs: | |
| build-and-test-l1: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout main source repository (rdkNativeScript) | |
| uses: actions/checkout@v3 | |
| - name: Checkout rdkNativeScript_tests repository (externals/build.sh and dependencies) | |
| uses: actions/checkout@v3 | |
| with: | |
| repository: rdk-e/rdkNativeScript_tests | |
| ref: topic/RDKEMW-9461 | |
| path: rdkNativeScript_tests | |
| token: ${{ secrets.GH_PAT }} | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update && sudo apt-get install -y \ | |
| git cmake gperf ruby-dev libglew-dev freeglut3 freeglut3-dev \ | |
| libglib2.0-dev libglib2.0-0 g++ meson bison libjpeg-dev libpng-dev \ | |
| libfreetype6-dev libicu-dev autoconf libtool libxml2-dev \ | |
| libcurl4-openssl-dev libexpat1-dev doxygen vim libcjson-dev \ | |
| libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ | |
| libwayland-bin libwayland-dev wayland-protocols \ | |
| libreadline-dev net-tools libffi7 libmount1 libpcre3 libselinux1 zlib1g \ | |
| libunwind-dev | |
| - name: Install ICU 66 and compatibility libs | |
| run: | | |
| sudo apt-get update | |
| wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu66_66.1-2ubuntu2_amd64.deb | |
| sudo dpkg -i libicu66_66.1-2ubuntu2_amd64.deb | |
| wget http://archive.ubuntu.com/ubuntu/pool/main/g/glib2.0/libglib2.0-0_2.64.6-1~ubuntu20.04.9_amd64.deb | |
| sudo dpkg -i libglib2.0-0_2.64.6-1~ubuntu20.04.9_amd64.deb | |
| sudo ldconfig | |
| #wget http://archive.ubuntu.com/ubuntu/pool/main/p/pcre3/libpcre3_8.39-13ubuntu0.22.04.1_amd64.deb | |
| #sudo dpkg -i libpcre3_8.39-13ubuntu0.22.04.1_amd64.deb | |
| #sudo ldconfig | |
| #wget http://archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi7_3.3-4_amd64.deb | |
| #sudo dpkg -i libffi7_3.3-4_amd64.deb | |
| #sudo ldconfig | |
| - name: Setup externals folder in main repo | |
| run: | | |
| pwd | |
| cp -a rdkNativeScript_tests/externals externals | |
| - name: Make build.sh and scripts executable | |
| run: | | |
| pwd | |
| chmod +x externals/build.sh | |
| find externals -type f -name "preparedashpc.sh" -exec chmod +x {} \; | |
| find externals -type f -name "copydashheaders.sh" -exec chmod +x {} \; | |
| - name: Run build.sh to build externals (from tests repo) | |
| run: | | |
| cd externals | |
| ./build.sh | |
| - name: Fix JavaScriptCore library symlinks | |
| run: | | |
| cd externals/extlibs/lib | |
| rm -f libJavaScriptCore.so libJavaScriptCore.so.1 | |
| ln -s libJavaScriptCore.so.1.0.0 libJavaScriptCore.so.1 | |
| ln -s libJavaScriptCore.so.1 libJavaScriptCore.so | |
| rm -f libessos.so libessos.so.0 | |
| ln -s libessos.so.0.0.0 libessos.so.0 | |
| ln -s libessos.so.0 libessos.so | |
| rm -f libessosrmgr.so libessosrmgr.so.0 | |
| ln -s libessosrmgr.so.0.0.0 libessosrmgr.so.0 | |
| ln -s libessosrmgr.so.0 libessosrmgr.so | |
| rm -f libuv.so libuv.so.1 | |
| ln -s libuv.so.1.0.0 libuv.so.1 | |
| ln -s libuv.so.1 libuv.so | |
| - name: Fix symlinks for x86_64-linux-gnu libraries | |
| run: | | |
| cd externals/extlibs/lib/x86_64-linux-gnu | |
| rm -f libglib-2.0.so libglib-2.0.so.0 | |
| ln -s libglib-2.0.so.0.6200.4 libglib-2.0.so.0 | |
| ln -s libglib-2.0.so.0 libglib-2.0.so | |
| rm -f libgio-2.0.so libgio-2.0.so.0 | |
| ln -s libgio-2.0.so.0.6200.4 libgio-2.0.so.0 | |
| ln -s libgio-2.0.so.0 libgio-2.0.so | |
| rm -f libgmodule-2.0.so libgmodule-2.0.so.0 | |
| ln -s libgmodule-2.0.so.0.6200.4 libgmodule-2.0.so.0 | |
| ln -s libgmodule-2.0.so.0 libgmodule-2.0.so | |
| rm -f libgobject-2.0.so libgobject-2.0.so.0 | |
| ln -s libgobject-2.0.so.0.6200.4 libgobject-2.0.so.0 | |
| ln -s libgobject-2.0.so.0 libgobject-2.0.so | |
| rm -f libgthread-2.0.so libgthread-2.0.so.0 | |
| ln -s libgthread-2.0.so.0.6200.4 libgthread-2.0.so.0 | |
| ln -s libgthread-2.0.so.0 libgthread-2.0.so | |
| - name: Configure and build main repo (use CMakeLists.txt from @rdkcentral/rdkNativeScript) | |
| run: | | |
| mkdir -p build | |
| cd build | |
| cmake .. \ | |
| -DENABLE_JSRUNTIME_ESSOS=ON \ | |
| -DJSRUNTIME_ENGINE_NAME=jsc \ | |
| -DENABLE_JSRUNTIME_PLAYER=ON \ | |
| -DENABLE_AAMP_JSBINDINGS_DYNAMIC=ON \ | |
| -DCMAKE_CXX_FLAGS="-I../externals/extlibs/include/rtcore" | |
| cmake --build . |