Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @rdkcentral/rdke_ghec_entinfra_maintainer
* @rdkcentral/entservices-maintainers
16 changes: 8 additions & 8 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

When writing review comments based on custom instructions located in .github/instructions/**.instructions.md, include a direct GitHub link to the exact violated guideline in the respective instruction file. Use the following format:

Refer: https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/<instruction-file>.instructions.md#guideline-section-name
Refer: https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/<instruction-file>.instructions.md#guideline-section-name

## Examples

Refer: https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Plugin.instructions.md#interface-implementation
Refer: https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Plugin.instructions.md#interface-implementation

Refer: https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Pluginlifecycle.instructions.md#deactivated
Refer: https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Pluginlifecycle.instructions.md#deactivated

Refer: https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Pluginimplementation.instructions.md#inter-plugin-communication
Refer: https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Pluginimplementation.instructions.md#inter-plugin-communication

Refer: https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Pluginmodule.instructions.md#module-name-convention
Refer: https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Pluginmodule.instructions.md#module-name-convention

Refer: https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Pluginconfig.instructions.md#plugin-configuration
Refer: https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Pluginconfig.instructions.md#plugin-configuration

Refer: https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Plugincmake.instructions.md#namespace-usage
Refer: https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Plugincmake.instructions.md#namespace-usage

Refer: https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/PluginOnboardingCompliance.instructions.md#coverity-scan-inclusion-and-test-workflow-updates-for-new-plugins
Refer: https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/PluginOnboardingCompliance.instructions.md#coverity-scan-inclusion-and-test-workflow-updates-for-new-plugins
8 changes: 4 additions & 4 deletions .github/instructions/Plugin.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ applyTo: "**/*.cpp,**/*.h"
---

# Instructions summary
1. [Interface Implementation](https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Plugin.instructions.md#interface-implementation)
2. [Service Registration](https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Plugin.instructions.md#service-registration)
3. [JSON-RPC Stub Registration](https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Plugin.instructions.md#json-rpc-stub-registration)
4. [Handling Out-of-Process Plugin Failures](https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Plugin.instructions.md#handling-out-of-process-plugin-failures)
1. [Interface Implementation](https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Plugin.instructions.md#interface-implementation)
2. [Service Registration](https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Plugin.instructions.md#service-registration)
3. [JSON-RPC Stub Registration](https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Plugin.instructions.md#json-rpc-stub-registration)
4. [Handling Out-of-Process Plugin Failures](https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Plugin.instructions.md#handling-out-of-process-plugin-failures)

### Interface Implementation

Expand Down
6 changes: 3 additions & 3 deletions .github/instructions/Pluginimplementation.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ applyTo: "**/**Implementation.cpp,**/**Implementation.h,**/**.cpp,**/**.h"
---

# Instruction Summary
1. [Inter-Plugin Communication](https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Pluginimplementation.instructions.md#inter-plugin-communication)
2. [On-Demand Plugin Interface Acquisition](https://github.com/rdkcentral/entservices-infra/blob/develop/.github/instructions/Pluginimplementation.instructions.md#on-demand-plugin-interface-acquisition)
1. [Inter-Plugin Communication](https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Pluginimplementation.instructions.md#inter-plugin-communication)
2. [On-Demand Plugin Interface Acquisition](https://github.com/rdkcentral/entservices-usersettings/blob/develop/.github/instructions/Pluginimplementation.instructions.md#on-demand-plugin-interface-acquisition)

### Inter-Plugin Communication

Expand All @@ -14,7 +14,7 @@ Plugins should use COM-RPC (e.g., use QueryInterfaceByCallsign or QueryInterface

### Example

Telemetry Plugin accessing UserSettings(via COM-RPC) through the IShell Interface API **QueryInterfaceByCallsign()** exposed for each Plugin - (Refer https://github.com/rdkcentral/entservices-infra/blob/7988b8a719e594782f041309ce2d079cf6f52863/Telemetry/TelemetryImplementation.cpp#L160 )
Telemetry Plugin accessing UserSettings(via COM-RPC) through the IShell Interface API **QueryInterfaceByCallsign()** exposed for each Plugin - (Refer https://github.com/rdkcentral/entservices-usersettings/blob/7988b8a719e594782f041309ce2d079cf6f52863/Telemetry/TelemetryImplementation.cpp#L160 )

```cpp
_userSettingsPlugin = _service->QueryInterfaceByCallsign<WPEFramework::Exchange::IUserSettings>(USERSETTINGS_CALLSIGN);
Expand Down
128 changes: 41 additions & 87 deletions .github/workflows/L1-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ on:

env:
BUILD_TYPE: Debug
REPO_NAME: "usersettings"
THUNDER_REF: "R4.4.1"
INTERFACES_REF: "develop"
AUTOMATICS_UNAME: ${{ secrets.AUTOMATICS_UNAME}}
Expand Down Expand Up @@ -45,25 +46,25 @@ jobs:
uses: actions/cache@v3
with:
path: |
thunder/build/Thunder
thunder/build/entservices-apis
thunder/build/ThunderTools
thunder/install
!thunder/install/etc/WPEFramework/plugins
!thunder/install/usr/bin/RdkServicesTest
!thunder/install/usr/include/gmock
!thunder/install/usr/include/gtest
!thunder/install/usr/lib/libgmockd.a
!thunder/install/usr/lib/libgmock_maind.a
!thunder/install/usr/lib/libgtestd.a
!thunder/install/usr/lib/libgtest_maind.a
!thunder/install/usr/lib/cmake/GTest
!thunder/install/usr/lib/pkgconfig/gmock.pc
!thunder/install/usr/lib/pkgconfig/gmock_main.pc
!thunder/install/usr/lib/pkgconfig/gtest.pc
!thunder/install/usr/lib/pkgconfig/gtest_main.pc
!thunder/install/usr/lib/wpeframework/plugins
key: ${{ runner.os }}-${{ env.THUNDER_REF }}-${{ env.INTERFACES_REF }}-4
build/Thunder
build/entservices-apis
build/ThunderTools
install
!install/etc/WPEFramework/plugins
!install/usr/bin/RdkServicesTest
!install/usr/include/gmock
!install/usr/include/gtest
!install/usr/lib/libgmockd.a
!install/usr/lib/libgmock_maind.a
!install/usr/lib/libgtestd.a
!install/usr/lib/libgtest_maind.a
!install/usr/lib/cmake/GTest
!install/usr/lib/pkgconfig/gmock.pc
!install/usr/lib/pkgconfig/gmock_main.pc
!install/usr/lib/pkgconfig/gtest.pc
!install/usr/lib/pkgconfig/gtest_main.pc
!install/usr/lib/wpeframework/plugins
key: ${{ runner.os }}-${{ env.REPO_NAME }}-${{ env.THUNDER_REF }}-${{ env.INTERFACES_REF }}-4

- name: Set up Python
uses: actions/setup-python@v4
Expand Down Expand Up @@ -123,44 +124,32 @@ jobs:
with:
repository: rdkcentral/entservices-testframework
path: entservices-testframework
ref: develop
ref: RDKEMW-13483_usrsett
token: ${{ secrets.RDKCM_RDKE }}

- name: Checkout entservices-infra
- name: Checkout entservices-usersettings
if: ${{ inputs.caller_source == 'local' }}
uses: actions/checkout@v3
with:
path: entservices-infra
path: entservices-usersettings

- name: Checkout entservices-infra-testframework
- name: Checkout entservices-usersettings-testframework
if: ${{ inputs.caller_source == 'testframework' }}
uses: actions/checkout@v3
with:
repository: rdkcentral/entservices-infra
path: entservices-infra
repository: rdkcentral/entservices-usersettings
path: entservices-usersettings
ref: develop

- name: Checkout googletest
if: steps.cache.outputs.cache-hit != 'true'
uses: actions/checkout@v3
with:
repository: google/googletest
path: googletest
ref: v1.15.0

# Fetching only the required essos-resmgr.h file from the Westeros repo to avoid full repo clone and to remove header file dependency
- name: Fetch only essos-resmgr.h from Westeros repo using sparse-checkout
run: |
mkdir -p $GITHUB_WORKSPACE/westeros-minimal
cd $GITHUB_WORKSPACE/westeros-minimal
git init
git remote add origin https://code.rdkcentral.com/r/components/opensource/westeros
git config core.sparseCheckout true
git pull --depth=1 origin master
mkdir -p $GITHUB_WORKSPACE/entservices-infra/ResourceManager
cp essos/essos-resmgr.h $GITHUB_WORKSPACE/entservices-infra/ResourceManager/

- name: Apply patches ThunderTools
if: steps.cache.outputs.cache-hit != 'true'
run: |
cd $GITHUB_WORKSPACE/ThunderTools
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/00010-R4.4-Add-support-for-project-dir.patch
Expand All @@ -182,6 +171,7 @@ jobs:
cmake --install build/ThunderTools

- name: Apply patches Thunder
if: steps.cache.outputs.cache-hit != 'true'
run: |
cd $GITHUB_WORKSPACE/Thunder
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/Use_Legact_Alt_Based_On_ThunderTools_R4.4.3.patch
Expand Down Expand Up @@ -211,7 +201,6 @@ jobs:
cmake --install build/Thunder

- name: Checkout entservices-apis
if: steps.cache.outputs.cache-hit != 'true'
uses: actions/checkout@v3
with:
repository: rdkcentral/entservices-apis
Expand Down Expand Up @@ -329,7 +318,6 @@ jobs:
run: echo "TOOLCHAIN_FILE=$GITHUB_WORKSPACE/entservices-testframework/Tests/gcc-with-coverage.cmake" >> $GITHUB_ENV

- name: Build googletest
if: steps.cache.outputs.cache-hit != 'true'
run: >
cmake -G Ninja
-S "$GITHUB_WORKSPACE/googletest"
Expand Down Expand Up @@ -373,9 +361,7 @@ jobs:
-I $GITHUB_WORKSPACE/entservices-testframework/Tests/headers/ccec/drivers
-I $GITHUB_WORKSPACE/entservices-testframework/Tests/headers/network
-I $GITHUB_WORKSPACE/entservices-testframework/Tests
-I $GITHUB_WORKSPACE/entservices-infra/helpers
-I $GITHUB_WORKSPACE/Thunder/Source
-I $GITHUB_WORKSPACE/Thunder/Source/core
-I $GITHUB_WORKSPACE/entservices-usersettings/helpers
-I $GITHUB_WORKSPACE/install/usr/include
-I ./usr/include/libdrm
-include $GITHUB_WORKSPACE/entservices-testframework/Tests/mocks/devicesettings.h
Expand Down Expand Up @@ -409,11 +395,11 @@ jobs:
&&
cmake --install build/mocks

- name: Build entservices-infra
- name: Build entservices-usersettings
run: >
cmake -G Ninja
-S "$GITHUB_WORKSPACE/entservices-infra"
-B build/entservices-infra
-S "$GITHUB_WORKSPACE/entservices-usersettings"
-B build/entservices-usersettings
-DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/install/usr"
-DCMAKE_MODULE_PATH="$GITHUB_WORKSPACE/install/tools/cmake"
-DCMAKE_CXX_FLAGS="
Expand All @@ -437,8 +423,6 @@ jobs:
-I $GITHUB_WORKSPACE/entservices-testframework/Tests/headers/Dobby
-I $GITHUB_WORKSPACE/entservices-testframework/Tests/headers/Dobby/Public/Dobby
-I $GITHUB_WORKSPACE/entservices-testframework/Tests/headers/Dobby/IpcService
-I $GITHUB_WORKSPACE/Thunder/Source
-I $GITHUB_WORKSPACE/Thunder/Source/core
-I $GITHUB_WORKSPACE/install/usr/include
-I $GITHUB_WORKSPACE/install/usr/include/WPEFramework
-include $GITHUB_WORKSPACE/entservices-testframework/Tests/mocks/devicesettings.h
Expand Down Expand Up @@ -486,26 +470,12 @@ jobs:
-DRDK_SERVICES_L1_TEST=ON
-DUSE_THUNDER_R4=ON
-DHIDE_NON_EXTERNAL_SYMBOLS=OFF
-DPLUGIN_TELEMETRY=ON
-DPLUGIN_USBDEVICE=ON
-DPLUGIN_USB_MASS_STORAGE=ON
-DPLUGIN_OCICONTAINER=ON
-DPLUGIN_USERSETTINGS=ON
-DPLUGIN_RESOURCEMANAGER=ON
-DPLUGIN_APPMANAGER=ON
-DPLUGIN_STORAGE_MANAGER=ON
-DPLUGIN_RUNTIME_MANAGER=ON
-DPLUGIN_LIFECYCLE_MANAGER=ON
-DPLUGIN_MESSAGECONTROL=ON
-DPLUGIN_MIGRATION=ON
-DPLUGIN_DOWNLOADMANAGER=ON
-DPLUGIN_PREINSTALL_MANAGER=ON
-DPLUGIN_PACKAGE_MANAGER=ON
-DENABLE_UNIT_TESTS=ON
&&
cmake --build build/entservices-infra -j8
cmake --build build/entservices-usersettings -j8
&&
cmake --install build/entservices-infra
cmake --install build/entservices-usersettings

- name: Build entservices-testframework
run: >
Expand All @@ -530,10 +500,8 @@ jobs:
-I $GITHUB_WORKSPACE/entservices-testframework/Tests/headers/rdk/iarmmgrs-hal
-I $GITHUB_WORKSPACE/entservices-testframework/Tests/headers/ccec/drivers
-I $GITHUB_WORKSPACE/entservices-testframework/Tests/headers/network
-I $GITHUB_WORKSPACE/entservices-infra/helpers
-I $GITHUB_WORKSPACE/entservices-usersettings/helpers
-I $GITHUB_WORKSPACE/entservices-testframework/Tests
-I $GITHUB_WORKSPACE/Thunder/Source
-I $GITHUB_WORKSPACE/Thunder/Source/core
-I $GITHUB_WORKSPACE/install/usr/include
-I ./usr/include/libdrm
-I $GITHUB_WORKSPACE/install/usr/include/WPEFramework
Expand Down Expand Up @@ -571,24 +539,10 @@ jobs:
-DCMAKE_DISABLE_FIND_PACKAGE_RBus=ON
-DCMAKE_BUILD_TYPE=Debug
-DDS_FOUND=ON
-DPLUGIN_TELEMETRY=ON
-DPLUGIN_USBDEVICE=ON
-DPLUGIN_USB_MASS_STORAGE=ON
-DRDK_SERVICES_L1_TEST=ON
-DUSE_THUNDER_R4=ON
-DHIDE_NON_EXTERNAL_SYMBOLS=OFF
-DPLUGIN_OCICONTAINER=ON
-DPLUGIN_USERSETTINGS=ON
-DPLUGIN_RESOURCEMANAGER=ON
-DPLUGIN_APPMANAGER=ON
-DPLUGIN_STORAGE_MANAGER=ON
-DPLUGIN_RUNTIME_MANAGER=ON
-DPLUGIN_LIFECYCLE_MANAGER=ON
-DPLUGIN_MESSAGECONTROL=ON
-DPLUGIN_MIGRATION=ON
-DPLUGIN_DOWNLOADMANAGER=ON
-DPLUGIN_PREINSTALL_MANAGER=ON
-DPLUGIN_PACKAGE_MANAGER=ON
-DENABLE_UNIT_TESTS=ON
&&
cmake --build build/entservices-testframework -j8
Expand Down Expand Up @@ -692,7 +646,7 @@ jobs:
rm -rf $(pwd)/rdkL1TestResults.json

- name: Run unit tests with valgrind
if: ${{ !env.ACT }}
if: ${{ !env.ACT && inputs.caller_source != 'testframework' }}
run: >
PATH=$GITHUB_WORKSPACE/install/usr/bin:${PATH}
LD_LIBRARY_PATH=$GITHUB_WORKSPACE/install/usr/lib:$GITHUB_WORKSPACE/install/usr/lib/wpeframework/plugins:${LD_LIBRARY_PATH}
Expand All @@ -709,18 +663,18 @@ jobs:
rm -rf $(pwd)/rdkL1TestResults.json

- name: Generate coverage
if: ${{ matrix.coverage == 'with-coverage' && !env.ACT }}
if: ${{ matrix.coverage == 'with-coverage' && !env.ACT && inputs.caller_source != 'testframework' }}
run: >
cp $GITHUB_WORKSPACE/entservices-testframework/Tests/L1Tests/.lcovrc_l1 ~/.lcovrc
&&
lcov -c
-o coverage.info
-d build/entservices-infra
-d build/entservices-usersettings
&&
lcov
-r coverage.info
'/usr/include/*'
'*/build/entservices-infra/_deps/*'
'*/build/entservices-usersettings/_deps/*'
'*/install/usr/include/*'
'*/Tests/headers/*'
'*/Tests/mocks/*'
Expand All @@ -730,14 +684,14 @@ jobs:
&&
genhtml
-o coverage
-t "entservices-infra coverage"
-t "entservices-usersettings coverage"
filtered_coverage.info

- name: Upload artifacts
if: ${{ !env.ACT }}
uses: actions/upload-artifact@v4
with:
name: artifacts-L1-infra
name: artifacts-L1-usersettings
path: |
coverage/
valgrind_log
Expand Down
Loading
Loading