Skip to content

Implement a generic "look-up" snippet for finding $CHIP_ROOT#72154

Open
enkiusz wants to merge 11 commits into
project-chip:masterfrom
enkiusz:generic-chip_root-finder
Open

Implement a generic "look-up" snippet for finding $CHIP_ROOT#72154
enkiusz wants to merge 11 commits into
project-chip:masterfrom
enkiusz:generic-chip_root-finder

Conversation

@enkiusz
Copy link
Copy Markdown
Contributor

@enkiusz enkiusz commented May 22, 2026

Summary

In Python code in this SDK there are a significant number of files which need (as a first order of business) to establish a path
to the root of the directory where the repository is located. This is always done by first going from file and then going to
parent directories to end up in the repository root. A number of examples of how this is done in various files is provided below:

CHIP_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '../..'))

MATTER_BASE = Path(__file__).resolve().parents[1]

REPO_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", ".."))

CHIP_REPO = os.path.join(os.path.abspath(
    os.path.dirname(__file__)), "..", "..", "..")

CHIP_TOPDIR = os.path.dirname(os.path.realpath(__file__))[:-len(os.path.join('src', 'setup_payload', 'tests'))]

DEFAULT_CHIP_ROOT = os.path.abspath(
    os.path.join(os.path.dirname(__file__), '..', '..', '..'))

CHIP_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../..'))

# Calculate OUTPUT_ROOT, equivalent to the Bash variable
# This navigates two directories up from the script's location and then into 'out/coverage'
script_dir = os.path.dirname(__file__)
OUTPUT_ROOT = os.path.abspath(os.path.join(script_dir, '..', '..', 'out', 'coverage'))

The problems that I see with this code is that the code is dependent on the exact location of the file in the repository. I have
developed a universal solution for establishing the repository root directory that is independent of the file location. See below:

next(filter(lambda p: (p / 'SPECIFICATION_VERSION').is_file(), Path(__file__).parents))

What I would like to do is to replace the miriad of ways that the root repository is with the above solution.

Caveats:

  • SPECIFICATION_VERSION might not be the best file to use as a marker for when we have reached the proper path, maybe we should create some .topdir sentinel file
  • in some places there are environment variables which can be used to override the path, I have seen PW_PROJECT_ROOT and CHIP_ROOT. I have not copied this behaviour to the generic case but it might be worth to add it
  • I have considered putting a limit on the amount of parents that are checked, the reasonable choice would be to stop at the user's home directory. I have decided not to add this check for now to keep things simple

Testing

All CI jobs completed successfully.

Readability checklist

The checklist below will help the reviewer finish PR review in time and keep the
code readable:

  • PR title is
    descriptive
  • Apply the
    “When in Rome…”
    rule (coding style)
  • PR size is short
  • Try to avoid "squashing" and "force-update" in commit history
  • CI time didn't increase

See:
Pull Request Guidelines

@github-actions github-actions Bot added documentation Improvements or additions to documentation examples scripts controller test driver examples chef Changes in examples/chef labels May 22, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the repository root detection logic across various scripts to use a dynamic search for the 'SPECIFICATION_VERSION' file. Review feedback highlights several critical issues, including missing 'Path' imports in multiple files and the accidental removal of the 'TEST_EXTPANID' constant in several Cirque test scripts. Additionally, it is recommended to use '.resolve()' for cross-platform path consistency, implement error handling for root detection failures, and remove a leftover debug script.

I am having trouble creating individual review comments. Click here to see my feedback.

examples/chef/chef.py (37)

critical

The Path class is used here but it has not been imported in this file. This will cause a NameError at runtime. Please verify that the symbol is not already imported or defined in an outer scope.

References
  1. Before flagging a missing import, verify that the symbol is not already imported within the current file scope.
  2. When analyzing for potential NameError exceptions, ensure the variable is not already defined in an outer scope before suggesting an initialization.

scripts/tests/matter_yaml_linter.py (24)

critical

The Path class is used here but it has not been imported in this file. This will cause a NameError at runtime. Please verify that the symbol is not already imported or defined in an outer scope.

References
  1. Before flagging a missing import, verify that the symbol is not already imported within the current file scope.
  2. When analyzing for potential NameError exceptions, ensure the variable is not already defined in an outer scope before suggesting an initialization.

scripts/tests/run_test_suite.py (52)

critical

The Path class is used here but it has not been imported in this file. This will cause a NameError at runtime. Please verify that the symbol is not already imported or defined in an outer scope.

References
  1. Before flagging a missing import, verify that the symbol is not already imported within the current file scope.
  2. When analyzing for potential NameError exceptions, ensure the variable is not already defined in an outer scope before suggesting an initialization.

credentials/development/gen_commissioner_dut_test_plan_table.py (32)

high

The current implementation for finding the repository root is fragile. Using .resolve() ensures consistency across different platforms and invocation methods. Additionally, handling the case where the root is not found prevents unhandled StopIteration exceptions.

CHIP_ROOT = next((p for p in Path(__file__).resolve().parents if (p / 'SPECIFICATION_VERSION').is_file()), None)
if CHIP_ROOT is None:
    raise RuntimeError("Could not find CHIP root (looking for 'SPECIFICATION_VERSION' in parent directories)")
References
  1. When applying workarounds in build or generation scripts, prioritize consistency across platforms to simplify maintenance.

src/test_driver/linux-cirque/FailsafeTest.py (37)

high

The constant TEST_EXTPANID was accidentally removed during this refactor. This will likely cause the test to fail if it is used elsewhere in the script.

CHIP_REPO = next(filter(lambda p: (p / 'SPECIFICATION_VERSION').is_file(), Path(__file__).resolve().parents))
TEST_EXTPANID = "fedcba9876543210"

src/test_driver/linux-cirque/IcdDeviceTest.py (37)

high

The constant TEST_EXTPANID was accidentally removed during this refactor. It should be restored.

CHIP_REPO = next(filter(lambda p: (p / 'SPECIFICATION_VERSION').is_file(), Path(__file__).resolve().parents))
TEST_EXTPANID = "fedcba9876543210"

src/test_driver/linux-cirque/SubscriptionResumptionCapacityTest.py (51)

high

The constant TEST_EXTPANID was accidentally removed during this refactor. It should be restored.

CHIP_REPO = next(filter(lambda p: (p / 'SPECIFICATION_VERSION').is_file(), Path(__file__).resolve().parents))
TEST_EXTPANID = "fedcba9876543210"

src/test_driver/linux-cirque/SubscriptionResumptionTest.py (45)

high

The constant TEST_EXTPANID was accidentally removed during this refactor. It should be restored.

CHIP_REPO = next(filter(lambda p: (p / 'SPECIFICATION_VERSION').is_file(), Path(__file__).resolve().parents))
TEST_EXTPANID = "fedcba9876543210"

src/controller/chip-root.py (1-13)

medium

This file appears to be a debug script or a scratchpad used during development. It defines redundant variables and uses print() statements, which should be avoided in the repository to prevent unnecessary output in CI environments. Please remove this file before merging.

References
  1. Remove leftover debug code, particularly from docstrings, before merging a pull request.
  2. For messages that need to be visible in certification logs, LOGGER.info is sufficient. Using print() should be avoided to prevent unnecessary output in other environments like CI.

@github-actions
Copy link
Copy Markdown

PR #72154: Size comparison from 294c51c to bcd14f6

Full report (5 builds for cc32xx, realtek, stm32)
platform target config section 294c51c bcd14f6 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 567918 567918 0 0.0
RAM 205040 205040 0 0.0
lock CC3235SF_LAUNCHXL FLASH 595406 595406 0 0.0
RAM 205240 205240 0 0.0
realtek light-switch-app rtl8777g FLASH 687640 687640 0 0.0
RAM 101748 101748 0 0.0
lighting-app rtl8777g FLASH 728752 728752 0 0.0
RAM 102020 102020 0 0.0
stm32 light STM32WB5MM-DK FLASH 477556 477556 0 0.0
RAM 141452 141452 0 0.0

@mergify mergify Bot added the conflict label May 26, 2026
@enkiusz enkiusz added the python label May 27, 2026
@mergify mergify Bot removed the conflict label May 27, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 55.61%. Comparing base (f1767a8) to head (b7541fb).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master   #72154   +/-   ##
=======================================
  Coverage   55.61%   55.61%           
=======================================
  Files        1630     1630           
  Lines      111146   111146           
  Branches    13397    13397           
=======================================
  Hits        61812    61812           
  Misses      49334    49334           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 27, 2026

PR #72154: Size comparison from 03988db to 893a872

Full report (43 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 03988db9 893a872 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1093790 1093790 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105100 1105100 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1592800 1592800 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1056802 1056802 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895598 895598 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776508 776508 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789644 789644 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738768 738768 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718932 718932 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568694 568694 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596182 596182 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994104 994104 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798749 798741 -8 -0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100096 1100088 -8 -0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621070 1621070 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 833860 833860 0 0.0
RAM 157540 157540 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 947452 947452 0 0.0
RAM 158928 158928 0 0.0
light-switch-app nrf52840dk_nrf52840 FLASH 783864 783864 0 0.0
RAM 122567 122567 0 0.0
lighting-app nrf52840dk_nrf52840+rpc FLASH 842180 842180 0 0.0
RAM 137839 137839 0 0.0
nrf52840dongle_nrf52840 FLASH 782192 782192 0 0.0
RAM 143777 143777 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 818640 818640 0 0.0
RAM 136951 136951 0 0.0
lock-app nrf52840dk_nrf52840 FLASH 769140 769140 0 0.0
RAM 122352 122352 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 782688 782688 0 0.0
RAM 123586 123586 0 0.0
shell nrf52840dk_nrf52840 FLASH 511096 511096 0 0.0
RAM 110450 110450 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733452 1733452 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622236 1622236 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469724 1469724 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 844652 844652 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783392 783392 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688192 688192 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729240 729240 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 477964 477964 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 812612 812612 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606064 606064 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731396 731396 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851332 851332 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 842660 842660 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731466 731466 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 794692 794692 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731396 731396 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614112 614112 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 840774 840778 4 0.0
RAM 97364 97364 0 0.0

@mergify mergify Bot added the conflict label May 27, 2026
@mergify mergify Bot removed the conflict label May 29, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 29, 2026

PR #72154: Size comparison from efc29a8 to daf4794

Full report (43 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section efc29a8 daf4794 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094218 1094218 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105532 1105532 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593304 1593304 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057230 1057230 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896026 896026 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776948 776948 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789644 789644 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738768 738768 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718932 718932 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568694 568694 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596182 596182 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994104 994104 0 0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798749 798741 -8 -0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100592 1100592 0 0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621512 1621512 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834256 834256 0 0.0
RAM 157540 157540 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 947860 947860 0 0.0
RAM 158928 158928 0 0.0
light-switch-app nrf52840dk_nrf52840 FLASH 784272 784272 0 0.0
RAM 122567 122567 0 0.0
lighting-app nrf52840dk_nrf52840+rpc FLASH 842588 842588 0 0.0
RAM 137839 137839 0 0.0
nrf52840dongle_nrf52840 FLASH 782600 782600 0 0.0
RAM 143777 143777 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 819048 819048 0 0.0
RAM 136951 136951 0 0.0
lock-app nrf52840dk_nrf52840 FLASH 769140 769140 0 0.0
RAM 122352 122352 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 782688 782688 0 0.0
RAM 123586 123586 0 0.0
shell nrf52840dk_nrf52840 FLASH 511144 511144 0 0.0
RAM 110450 110450 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733932 1733932 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622724 1622724 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470212 1470212 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503332 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845076 845076 0 0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783824 783824 0 0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688624 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729680 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478396 478396 0 0.0
RAM 141476 141476 0 0.0
telink all-devices-app tl7218x FLASH 813032 813032 0 0.0
RAM 97196 97196 0 0.0
tlsr9118bdk40d FLASH 606484 606484 0 0.0
RAM 120152 120152 0 0.0
bridge-app tl7218x FLASH 731396 731396 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851752 851752 0 0.0
RAM 44332 44332 0 0.0
tl7218x FLASH 843080 843080 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731886 731886 0 0.0
RAM 55980 55980 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795112 795112 0 0.0
RAM 75164 75164 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731816 731816 0 0.0
RAM 33468 33468 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614532 614532 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841194 841198 4 0.0
RAM 97364 97364 0 0.0

@enkiusz enkiusz marked this pull request as ready for review May 29, 2026 12:56
Copilot AI review requested due to automatic review settings May 29, 2026 12:56
@pullapprove pullapprove Bot requested a review from andy31415 May 29, 2026 12:56
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Replaces the many ad-hoc os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', ...)) style snippets used throughout the Python code in the SDK with a generic ancestor lookup that finds the repo root by walking Path(__file__).parents for an ancestor containing a SPECIFICATION_VERSION file. The intent is to make these scripts independent of their depth in the tree.

Changes:

  • Replaces hard-coded parents[N] / ..-chain root computations with next(filter(lambda p: (p / 'SPECIFICATION_VERSION').is_file(), Path(__file__).parents)) across ~20 scripts/tests and the cirque helper/paths.py.
  • Adds an unused CHIP_REPO = … constant (and a from pathlib import Path import) to four cirque test files, plus blank-line-only edits to several other cirque test files.
  • Adds a new src/controller/chip-root.py containing two trial expressions and print() calls.

Reviewed changes

Copilot reviewed 41 out of 41 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
src/controller/chip-root.py New file with two trial CHIP_ROOT expressions and print()s; not referenced anywhere.
src/test_driver/linux-cirque/helper/paths.py CHIP_REPO_PATH switched from parents[4] to marker-file lookup.
src/test_driver/linux-cirque/EchoTest.py, EchoOverTcpTest.py, FailsafeTest.py, IcdDeviceTest.py Add an unused CHIP_REPO constant and pathlib import.
src/test_driver/linux-cirque/{SubscriptionResumption*,SplitCommissioning,PythonCommissioning,MobileDevice,CommissioningWindow,Commissioning}Test.py Whitespace-only insertions of a blank line.
scripts/tests/TestTimeSyncTrustedTimeSourceRunner.py, run_test_suite.py, run_python_test.py, matter_yaml_linter.py Replace DEFAULT_CHIP_ROOT computation with marker-file lookup.
scripts/spec_xml/paths.py get_chip_root() fallback uses marker-file lookup inside the existing try/except.
scripts/setup/nrfconnect/update_ncs.py chip_root in get_ncs_recommended_revision() uses marker-file lookup.
scripts/helpers/iwyu-check.py, clean_runnable_targets.py proj_root_dir / CHIP_ROOT use marker-file lookup; OUTPUT_ROOT derived from it.
scripts/codepregen.py sdk_root default uses marker-file lookup.
scripts/checkout_submodules.py CHIP_ROOT uses marker-file lookup.
scripts/build/build_darwin_framework.py CHIP_ROOT in get_file_from_pigweed uses marker-file lookup.
examples/tv-casting-app/tests/*.py (10 files) REPO_ROOT switched to marker-file lookup.
examples/chef/chef.py _REPO_BASE_PATH switched to marker-file lookup.
docs/conf.py MATTER_BASE switched to marker-file lookup.
credentials/development/gen_commissioner_dut_test_plan_table.py CHIP_ROOT switched to marker-file lookup.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/controller/chip-root.py Outdated
Comment thread src/test_driver/linux-cirque/EchoTest.py Outdated
Comment thread src/test_driver/linux-cirque/EchoOverTcpTest.py Outdated
Comment thread src/test_driver/linux-cirque/FailsafeTest.py Outdated
Comment thread src/test_driver/linux-cirque/IcdDeviceTest.py Outdated
Comment thread src/test_driver/linux-cirque/SubscriptionResumptionTimeoutTest.py Outdated
Comment thread src/test_driver/linux-cirque/helper/paths.py
Comment thread src/test_driver/linux-cirque/helper/paths.py
Comment thread scripts/spec_xml/paths.py Outdated
Copilot AI review requested due to automatic review settings May 29, 2026 13:02
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 33 out of 33 changed files in this pull request and generated 6 comments.

Comment thread src/test_driver/linux-cirque/EchoTest.py Outdated
Comment thread src/test_driver/linux-cirque/EchoOverTcpTest.py Outdated
Comment thread src/test_driver/linux-cirque/FailsafeTest.py Outdated
Comment thread src/test_driver/linux-cirque/IcdDeviceTest.py Outdated
Comment thread src/test_driver/linux-cirque/SubscriptionResumptionCapacityTest.py
Comment thread scripts/spec_xml/paths.py Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 29, 2026

PR #72154: Size comparison from efc29a8 to a9fc731

Full report (33 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32)
platform target config section efc29a8 a9fc731 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094218 1094196 -22 -0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105532 1105508 -24 -0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593304 1593280 -24 -0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057230 1057208 -22 -0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896026 896004 -22 -0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776948 776932 -16 -0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789644 789628 -16 -0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738768 738752 -16 -0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 718932 718908 -24 -0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568694 568670 -24 -0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596182 596166 -16 -0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994104 994072 -32 -0.0
RAM 131288 131288 0 0.0
BRD4338a FLASH 798749 798661 -88 -0.0
RAM 243424 243424 0 0.0
window-app BRD4187C FLASH 1100592 1100496 -96 -0.0
RAM 130360 130360 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621512 1621488 -24 -0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834256 834236 -20 -0.0
RAM 157540 157540 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 947860 947840 -20 -0.0
RAM 158928 158928 0 0.0
light-switch-app nrf52840dk_nrf52840 FLASH 784272 784252 -20 -0.0
RAM 122567 122567 0 0.0
lighting-app nrf52840dk_nrf52840+rpc FLASH 842588 842568 -20 -0.0
RAM 137839 137839 0 0.0
nrf52840dongle_nrf52840 FLASH 782600 782580 -20 -0.0
RAM 143777 143777 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 819048 819028 -20 -0.0
RAM 136951 136951 0 0.0
lock-app nrf52840dk_nrf52840 FLASH 769140 769120 -20 -0.0
RAM 122352 122352 0 0.0
nrf54l15dk_nrf54l15_cpuapp FLASH 782688 782668 -20 -0.0
RAM 123586 123586 0 0.0
shell nrf52840dk_nrf52840 FLASH 511144 511124 -20 -0.0
RAM 110450 110450 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733932 1733900 -32 -0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622724 1622692 -32 -0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1470212 1470180 -32 -0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503332 1503316 -16 -0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 845076 845060 -16 -0.0
RAM 127964 127964 0 0.0
lock-app qpg6200+debug FLASH 783824 783808 -16 -0.0
RAM 118912 118912 0 0.0
realtek light-switch-app rtl8777g FLASH 688624 688600 -24 -0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729680 729664 -16 -0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478396 478372 -24 -0.0
RAM 141476 141476 0 0.0

@enkiusz enkiusz force-pushed the generic-chip_root-finder branch from a9fc731 to 60f7d65 Compare June 3, 2026 12:42
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

PR #72154: Size comparison from 92d95f2 to b7541fb

Full report (43 builds for bl602, bl616, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
platform target config section 92d95f2 b7541fb change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094324 1094324 0 0.0
RAM 144882 144882 0 0.0
bl616 lighting-app bl616+thread FLASH 1105636 1105636 0 0.0
RAM 104280 104280 0 0.0
bl616+wifi+shell FLASH 1593424 1593424 0 0.0
RAM 98176 98176 0 0.0
bl702 lighting-app bl702+eth FLASH 1057326 1057326 0 0.0
RAM 108509 108509 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 896162 896162 0 0.0
RAM 105884 105884 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 776976 776976 0 0.0
RAM 103388 103388 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 789744 789744 0 0.0
RAM 108676 108676 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 738868 738868 0 0.0
RAM 97596 97596 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 719032 719032 0 0.0
RAM 97636 97636 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 568818 568818 0 0.0
RAM 205056 205056 0 0.0
lock CC3235SF_LAUNCHXL FLASH 596298 596298 0 0.0
RAM 205256 205256 0 0.0
efr32 lock-app BRD4187C FLASH 994188 994188 0 0.0
RAM 131288 131288 0 0.0
window-app BRD4187C FLASH 1100608 1100608 0 0.0
RAM 130360 130360 0 0.0
lock-app BRD4338a FLASH 798741 798741 0 0.0
RAM 243424 243424 0 0.0
esp32 all-clusters-app c3devkit DRAM 99716 99716 0 0.0
FLASH 1621642 1621642 0 0.0
IRAM 94776 94776 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 834276 834276 0 0.0
RAM 157540 157540 0 0.0
light-switch-app nrf52840dk_nrf52840 FLASH 784380 784380 0 0.0
RAM 122567 122567 0 0.0
lock-app nrf52840dk_nrf52840 FLASH 769236 769236 0 0.0
RAM 122352 122352 0 0.0
shell nrf52840dk_nrf52840 FLASH 511152 511152 0 0.0
RAM 110450 110450 0 0.0
lighting-app nrf52840dk_nrf52840+rpc FLASH 842616 842616 0 0.0
RAM 137839 137839 0 0.0
nrf52840dongle_nrf52840 FLASH 782624 782624 0 0.0
RAM 143777 143777 0 0.0
all-clusters-app nrf54l15dk_nrf54l15_cpuapp FLASH 947896 947896 0 0.0
RAM 158928 158928 0 0.0
lighting-app nrf54l15dk_nrf54l15_cpuapp FLASH 819076 819076 0 0.0
RAM 136951 136951 0 0.0
lock-app nrf54l15dk_nrf54l15_cpuapp FLASH 782788 782788 0 0.0
RAM 123586 123586 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1733676 1733676 0 0.0
RAM 215260 215260 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1622756 1622756 0 0.0
RAM 211548 211548 0 0.0
light cy8ckit_062s2_43012 FLASH 1469988 1469988 0 0.0
RAM 197420 197420 0 0.0
lock cy8ckit_062s2_43012 FLASH 1503428 1503428 0 0.0
RAM 225252 225252 0 0.0
qpg lighting-app qpg6200+debug FLASH 844200 844200 0 0.0
RAM 127948 127948 0 0.0
lock-app qpg6200+debug FLASH 782276 782276 0 0.0
RAM 118856 118856 0 0.0
realtek light-switch-app rtl8777g FLASH 688760 688760 0 0.0
RAM 101764 101764 0 0.0
lighting-app rtl8777g FLASH 729712 729712 0 0.0
RAM 102044 102044 0 0.0
stm32 light STM32WB5MM-DK FLASH 478416 478416 0 0.0
RAM 141476 141476 0 0.0
telink light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 851824 851824 0 0.0
RAM 44332 44332 0 0.0
light-switch-app-ota-factory-data tl3218x_retention FLASH 731904 731904 0 0.0
RAM 33468 33468 0 0.0
all-devices-app tl7218x FLASH 813116 813116 0 0.0
RAM 97196 97196 0 0.0
bridge-app tl7218x FLASH 731480 731480 0 0.0
RAM 95864 95864 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl7218x FLASH 843152 843152 0 0.0
RAM 99656 99656 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 731974 731974 0 0.0
RAM 55980 55980 0 0.0
all-devices-app tlsr9118bdk40d FLASH 606574 606574 0 0.0
RAM 120152 120152 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 614610 614610 0 0.0
RAM 118496 118496 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 841268 841272 4 0.0
RAM 97364 97364 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 795200 795200 0 0.0
RAM 75164 75164 0 0.0

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants