Skip to content

RDKEMW-22169:Updated version to 4.4.6 - #178

Open
RajaLucy wants to merge 9 commits into
developfrom
feature/RDKEMW-22169
Open

RDKEMW-22169:Updated version to 4.4.6#178
RajaLucy wants to merge 9 commits into
developfrom
feature/RDKEMW-22169

Conversation

@RajaLucy

@RajaLucy RajaLucy commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Reason: Updated Thunder and ThunderTools version to 4.4.6.
Test Procedure: Refer ticket.
Risks: Medium.
Priority: P0.
Version: Patch.

Copilot AI review requested due to automatic review settings July 23, 2026 07:14
@RajaLucy
RajaLucy requested a review from a team as a code owner July 23, 2026 07:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the pinned Thunder/ThunderTools release references used by local dependency build scripting and the CI L1 test workflow to align with the R4.4.6 release stream.

Changes:

  • Bump ThunderTools and Thunder clone branches in build_dependencies.sh to R4.4.6.
  • Bump Thunder reference (THUNDER_REF) and ThunderTools checkout ref in the L1 GitHub Actions workflow to R4.4.6.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
build_dependencies.sh Updates ThunderTools/Thunder clone branches to R4.4.6 for local/CI dependency setup.
.github/workflows/L1-tests.yml Updates Thunder/ThunderTools refs for L1 CI builds (plus workflow env/ref consistency).
Comments suppressed due to low confidence (1)

.github/workflows/L1-tests.yml:117

  • ThunderTools checkout ref is hardcoded while Thunder uses env.THUNDER_REF. This can silently drift (and also mismatches the cache key which is based on env.THUNDER_REF). Consider reusing env.THUNDER_REF here for consistency.
          ref: R4.4.6

Comment thread .github/workflows/L1-tests.yml
Copilot AI review requested due to automatic review settings July 24, 2026 05:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (2)

.github/workflows/L1-tests.yml:17

  • GitHub Actions expression for AUTOMATICS_PASSCODE has an extra space after secrets. ("secrets. AUTOMATICS_PASSCODE"), which will fail expression parsing and leave the env var unset.
  THUNDER_REF: "R4.4.6"
  INTERFACES_REF: "develop"
  AUTOMATICS_UNAME: ${{ secrets.AUTOMATICS_UNAME}}
  AUTOMATICS_PASSCODE: ${{ secrets. AUTOMATICS_PASSCODE}}

build_dependencies.sh:64

  • Typo in log message: "buliding" -> "building".
echo "======================================================================================"
echo "buliding thunder"

cd Thunder
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/error_code_R4_4_6.patch

Comment thread .github/workflows/L1-tests.yml
Comment thread build_dependencies.sh Outdated
Comment thread build_dependencies.sh Outdated
Copilot AI review requested due to automatic review settings July 24, 2026 05:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (4)

.github/workflows/L1-tests.yml:18

  • The secret expression for AUTOMATICS_PASSCODE has a space after secrets. (secrets. AUTOMATICS_PASSCODE), which is not valid GitHub Actions expression syntax and will fail workflow evaluation.
  INTERFACES_REF: "develop"
  AUTOMATICS_UNAME: ${{ secrets.AUTOMATICS_UNAME}}
  AUTOMATICS_PASSCODE: ${{ secrets. AUTOMATICS_PASSCODE}}
  ENABLE_CACHE: "false"

build_dependencies.sh:45

  • echo "buliding thunderTools" contains a spelling error in a user-facing log message.
echo "======================================================================================"
echo "buliding thunderTools"
cd ThunderTools
patch -p1 < $GITHUB_WORKSPACE/entservices-testframework/patches/00010-R4.4.6-Add-support-for-project-dir.patch

build_dependencies.sh:63

  • echo "buliding thunder" contains a spelling error in a user-facing log message.
# Build Thunder
echo "======================================================================================"
echo "buliding thunder"

cd Thunder

.github/workflows/L1-tests.yml:125

  • The workflow now checks out rdkcentral/entservices-testframework from a feature branch. Per Tests/README.md this is typically a temporary setup for validating testframework changes; leaving a feature branch ref in this repo can make CI non-reproducible once that branch is rebased/deleted. Consider pinning to a tag/SHA or switching back to develop once the testframework changes are merged, and align the PR description with this dependency change.
      - name: Checkout entservices-testframework
        uses: actions/checkout@v3
        with:
          repository: rdkcentral/entservices-testframework
          path: entservices-testframework
          ref: feature/RDKEMW-22169

Comment thread Tests/L1Tests/tests/test_XCast.cpp
Copilot AI review requested due to automatic review settings July 27, 2026 10:03

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (4)

Tests/L1Tests/tests/test_XCast.cpp:92

  • MockIDeviceInfo::AddRef/Release are expected to behave like COM-style reference counting (returning the updated ref count). Returning 0 / Core::ERROR_NONE while also having an unused _refCount can lead to incorrect behavior in code under test and makes the mock inconsistent with the interface contract.
    uint32_t AddRef() const override {
        // Mock implementation - do nothing in tests
        return 0;
    }

    uint32_t Release() const override {
        // Mock implementation - return reference count
        return Core::ERROR_NONE;
    }

.github/workflows/L1-tests.yml:17

  • The secrets expression for AUTOMATICS_PASSCODE contains an extra space ("secrets. AUTOMATICS_PASSCODE"), which makes the expression invalid/undefined in GitHub Actions. This will result in an empty value or workflow expression error at runtime.
  THUNDER_REF: "R4.4.6"
  INTERFACES_REF: "develop"
  AUTOMATICS_UNAME: ${{ secrets.AUTOMATICS_UNAME}}
  AUTOMATICS_PASSCODE: ${{ secrets. AUTOMATICS_PASSCODE}}

.github/workflows/L1-tests.yml:125

  • This PR changes entservices-testframework checkout from a stable branch (develop) to a feature branch (feature/RDKEMW-22169). That’s a significant workflow behavior change not mentioned in the PR description and can reduce build reproducibility if the feature branch is force-pushed or deleted. Consider pinning to a tag or commit SHA, or moving required patches to a stable branch.
      - name: Checkout entservices-testframework
        uses: actions/checkout@v3
        with:
          repository: rdkcentral/entservices-testframework
          path: entservices-testframework
          ref: feature/RDKEMW-22169

build_dependencies.sh:37

  • build_dependencies.sh now clones entservices-testframework from a feature branch (feature/RDKEMW-22169). This can make dependency builds non-reproducible if the branch changes or is removed; prefer pinning to a tag or commit SHA (or a stable branch) once the required patches are merged upstream.
git clone --branch develop https://github.com/rdkcentral/entservices-apis.git

git clone --branch feature/RDKEMW-22169 https://github.com/rdkcentral/entservices-testframework.git

Comment thread .github/workflows/L1-tests.yml Outdated
Copilot AI review requested due to automatic review settings August 5, 2026 19:14

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Suppressed comments (4)

Tests/L1Tests/tests/test_XCast.cpp:87

  • AddRef() currently returns 0 and ignores the existing _refCount. Some code paths (including COM-style helpers) expect AddRef() to return a non-zero reference count, and returning 0 can break ownership assumptions in tests.
    uint32_t AddRef() const override {
        // Mock implementation - do nothing in tests
        return 0;
    }

Tests/L1Tests/tests/test_XCast.cpp:92

  • Release() returns Core::ERROR_NONE (0) rather than an updated reference count and also ignores _refCount, which makes the mock's lifetime semantics inconsistent with IUnknown expectations.
    uint32_t Release() const override {
        // Mock implementation - return reference count
        return Core::ERROR_NONE;
    }

.github/workflows/L1-tests.yml:15

  • This PR is described as updating Thunder/ThunderTools to 4.4.6, but INTERFACES_REF is also changed to "develop" (while build_dependencies.sh still pins entservices-apis to 4.0.8). If the interfaces bump is intentional, it should be called out explicitly; otherwise CI and local dependency builds may use different interface versions and produce inconsistent results.
  REPO_NAME: "casting"
  INTERFACES_REF: "develop"
  AUTOMATICS_UNAME: ${{ secrets.AUTOMATICS_UNAME}}

build_dependencies.sh:37

  • build_dependencies.sh clones entservices-testframework from a moving feature branch (feature/RDKEMW-22169). This makes builds non-reproducible over time and can break unexpectedly as the branch changes; prefer pinning to a tag/release branch or a specific commit SHA.
git clone --branch 4.0.8 https://github.com/rdkcentral/entservices-apis.git

git clone --branch feature/RDKEMW-22169 https://github.com/rdkcentral/entservices-testframework.git

Comment on lines 12 to 16
BUILD_TYPE: Debug
REPO_NAME: "casting"
THUNDER_REF: "R4.4.1"
INTERFACES_REF: "4.0.8"
INTERFACES_REF: "develop"
AUTOMATICS_UNAME: ${{ secrets.AUTOMATICS_UNAME}}
AUTOMATICS_PASSCODE: ${{ secrets. AUTOMATICS_PASSCODE}}
Copilot AI review requested due to automatic review settings August 6, 2026 07:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (7)

Tests/L1Tests/tests/test_XCast.cpp:87

  • AddRef() currently returns 0, which is not a meaningful COM-style refcount and can break code paths that expect the returned refcount to be >= 1. Since the class already has _refCount, increment and return it here.
    uint32_t AddRef() const override {
        // Mock implementation - do nothing in tests
        return 0;
    }

Tests/L1Tests/tests/test_XCast.cpp:92

  • Release() returns Core::ERROR_NONE (0) instead of a reference count, and _refCount is never initialized. This makes the mock’s lifetime semantics inconsistent and may cause flaky behavior if any code uses the returned refcount.
    uint32_t Release() const override {
        // Mock implementation - return reference count
        return Core::ERROR_NONE;
    }

.github/workflows/L1-tests.yml:18

  • The secret expression has an extra space (secrets. AUTOMATICS_PASSCODE) which makes the GitHub Actions expression invalid and can prevent the workflow from parsing/running.
  AUTOMATICS_PASSCODE: ${{ secrets. AUTOMATICS_PASSCODE}}

build_dependencies.sh:71

  • These cd commands are a no-op (cd Thunder; cd -) and don’t affect the subsequent build (which uses -S Thunder). Leaving them in is confusing and makes the script harder to maintain.
echo "buliding thunder"

cd Thunder
cd -

.github/workflows/L1-tests.yml:66

  • The cache key does not include THUNDER_TOOLS_COMMIT_SHA, but the cached paths include build/ThunderTools and install outputs derived from it. This can cause incorrect cache hits when ThunderTools changes.
          key: ${{ runner.os }}-${{ env.REPO_NAME }}-${{ env.THUNDER_COMMIT_SHA }}-${{ env.INTERFACES_REF }}-4

.github/workflows/L1-tests.yml:16

  • INTERFACES_REF was changed to develop, which is a moving target and reduces build reproducibility; it also diverges from build_dependencies.sh which still clones entservices-apis from 4.0.8. It would be better to pin this to a tag/commit and keep both build paths consistent.
  INTERFACES_REF: "develop"

build_dependencies.sh:53

  • These cd commands are a no-op (cd ThunderTools; cd -) and don’t affect the subsequent build (which uses -S ThunderTools). Leaving them in is confusing and makes the script harder to maintain.

This issue also appears on line 68 of the same file.

echo "buliding thunderTools"
cd ThunderTools
cd -

Copilot AI review requested due to automatic review settings August 6, 2026 07:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

Suppressed comments (6)

Tests/L1Tests/tests/test_XCast.cpp:88

  • MockIDeviceInfo's IUnknown methods don't maintain the mock's _refCount: AddRef() always returns 0 and Release() always returns Core::ERROR_NONE. Since getSerialNumberFromDeviceInfo() calls Release() on the returned IDeviceInfo pointer, keeping a consistent (non-underflowing) refcount in the mock avoids subtle lifetime issues if test code (or future code) starts relying on COM-style semantics.
    uint32_t AddRef() const override {
        // Mock implementation - do nothing in tests
        return 0;
    }

.github/workflows/L1-tests.yml:391

  • Same issue as above: the build sets the CMake variable USE_THUNDER_R4, but without also defining the preprocessor macro, code guarded by #ifdef USE_THUNDER_R4 will compile the non-R4 path while CMake links the R4/COM path.
          -DCMAKE_CXX_FLAGS="
          -fprofile-arcs
          -ftest-coverage
          -DEXCEPTIONS_ENABLE=ON
          -DTHUNDER_VERSION=4
          -DTHUNDER_VERSION_MAJOR=4

.github/workflows/L1-tests.yml:461

  • Same issue as above: USE_THUNDER_R4 is no longer defined in the compiler flags, but this repo relies on #ifdef USE_THUNDER_R4 in multiple headers/sources. Without a compiler define, the non-R4 code path will be compiled even when linking against R4/COM.
          -DCMAKE_CXX_FLAGS="
          -fprofile-arcs
          -ftest-coverage
          -DEXCEPTIONS_ENABLE=ON
          -DTHUNDER_VERSION=4
          -DTHUNDER_VERSION_MAJOR=4

.github/workflows/L1-tests.yml:126

  • The workflow now checks out entservices-testframework from a feature branch (feature/RDKEMW-22169). Using a moving branch can make CI results non-reproducible over time; prefer pinning to a commit SHA (as done for Thunder/ThunderTools) or a stable tag when possible.
      - name: Checkout entservices-testframework
        uses: actions/checkout@v3
        with:
          repository: rdkcentral/entservices-testframework
          path: entservices-testframework
          ref: feature/RDKEMW-22169

.github/workflows/L1-tests.yml:16

  • INTERFACES_REF is now set to "develop", which makes CI non-deterministic (the same commit of this repo can start failing when entservices-apis changes). It also diverges from build_dependencies.sh, which still clones entservices-apis at the pinned "4.0.8" tag. Consider pinning this to a released tag/commit SHA for reproducible builds.
  THUNDER_TOOLS_COMMIT_SHA: "d5dd83c7c19c49c7f25c558c126500bd2d64f7a4"
  THUNDER_COMMIT_SHA: "2c0fcc5529e7da734be558ca6efa05d934dcce31"
  INTERFACES_REF: "develop"

build_dependencies.sh:45

  • build_dependencies.sh now pins Thunder/ThunderTools to specific commit SHAs, but entservices-testframework is still cloned from a feature branch. For reproducible local builds (and to avoid unexpected breakages when the branch moves), consider pinning entservices-testframework to a commit SHA or stable tag as well.
git clone --branch 4.0.8 https://github.com/rdkcentral/entservices-apis.git

git clone --branch feature/RDKEMW-22169 https://github.com/rdkcentral/entservices-testframework.git

Comment thread cov_build.sh
-DENABLE_SET_WAKEUP_SRC_CONFIG -DENABLE_THERMAL_PROTECTION \
-DUSE_DRM_SCREENCAPTURE -DHAS_API_SYSTEM -DHAS_API_POWERSTATE \
-DHAS_RBUS -DDISABLE_SECURITY_TOKEN -DENABLE_DEVICE_MANUFACTURER_INFO -DUSE_THUNDER_R4=ON -DTHUNDER_VERSION=4 -DTHUNDER_VERSION_MAJOR=4 -DTHUNDER_VERSION_MINOR=4" \
-DHAS_RBUS -DDISABLE_SECURITY_TOKEN -DENABLE_DEVICE_MANUFACTURER_INFO -DTHUNDER_VERSION=4 -DTHUNDER_VERSION_MAJOR=4 -DTHUNDER_VERSION_MINOR=4" \
Comment on lines 329 to 333
-DCMAKE_CXX_FLAGS="
-fprofile-arcs
-ftest-coverage
-DEXCEPTIONS_ENABLE=ON
-DUSE_THUNDER_R4=ON
-DTHUNDER_VERSION=4
Copilot AI review requested due to automatic review settings August 7, 2026 12:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants