Repository navigation
MATTER-7075: Implement Renode commissioning tests in CI - #1135
Michael Duggan (miduggan24) wants to merge 17 commits into
Conversation
PR SummaryMedium Risk Overview
Docs in Reviewed by Cursor Bugbot for commit 472bed8. Configure here. |
|
bugbot run |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
Autofix Details
Bugbot Autofix prepared fixes for both issues found in the latest run.
- ✅ Fixed: Caller drops GHCR package permission
- Added packages: read permission at workflow level so the intersection with the called workflow includes the required GHCR package access.
- ✅ Fixed: Lighting artifact deleted before download
- Added renode-commissioning-tests to merge-apps dependencies to ensure the artifact is not deleted until after the commissioning job downloads it.
Or push these changes by commenting:
@cursor push d2816c1e5b
Preview (d2816c1e5b)
diff --git a/.github/workflows/dev-apps-builder.yaml b/.github/workflows/dev-apps-builder.yaml
--- a/.github/workflows/dev-apps-builder.yaml
+++ b/.github/workflows/dev-apps-builder.yaml
@@ -24,6 +24,7 @@
permissions:
contents: read
actions: write
+ packages: read
jobs:
set-build-type:
@@ -310,6 +311,7 @@
- build_rangehood_app
- build_series_3_bootloader
- build_wake_on_matter_app
+ - renode-commissioning-tests
if: success()
steps:You can send follow-ups to the cloud agent here.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
Autofix Details
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Merge deletes ELF before download
- Added renode-commissioning-tests as a dependency of merge-apps to ensure the lighting artifact is downloaded before being deleted by the merge action.
Or push these changes by commenting:
@cursor push f4d62df9ae
Preview (f4d62df9ae)
diff --git a/.github/workflows/dev-apps-builder.yaml b/.github/workflows/dev-apps-builder.yaml
--- a/.github/workflows/dev-apps-builder.yaml
+++ b/.github/workflows/dev-apps-builder.yaml
@@ -310,6 +310,7 @@
- build_rangehood_app
- build_series_3_bootloader
- build_wake_on_matter_app
+ - renode-commissioning-tests
if: success()
steps:You can send follow-ups to the cloud agent here.
|
bugbot run |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
Autofix Details
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: SQA lighting upload fails on ELF glob
- Added condition to exclude custom-sqa builds from the Renode ELF upload step since those builds only create suffixed directories that don't match the glob pattern.
Or push these changes by commenting:
@cursor push 9f3955659d
Preview (9f3955659d)
diff --git a/.github/workflows/builder.yaml b/.github/workflows/builder.yaml
--- a/.github/workflows/builder.yaml
+++ b/.github/workflows/builder.yaml
@@ -73,7 +73,7 @@
# Need separate upload step for Renode ELF files to run commissioning test in parallel
# Merge artifacts step deletes ELF files
- name: Upload Renode commissioning ELF
- if: inputs.example-app == 'lighting_app' && inputs.platform == 'mg24'
+ if: inputs.example-app == 'lighting_app' && inputs.platform == 'mg24' && inputs.build-type != 'custom-sqa'
uses: actions/upload-artifact@v7
with:
name: renode-commissioning-${{ inputs.build-type }}-lighting-mg24You can send follow-ups to the cloud agent here.
|
bugbot run |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
Autofix Details
Bugbot Autofix prepared fixes for both issues found in the latest run.
- ✅ Fixed: Exit-code fallback reads stale result
- Removed the fallback search to the full UART history in Console.run() to prevent reading stale exit codes from previous commands.
- ✅ Fixed: Job timeout shorter than test budget
- Increased GitHub workflow timeout from 45 to 60 minutes to accommodate 35 minutes of test wait time plus setup overhead.
Or push these changes by commenting:
@cursor push aa656ab2cb
Preview (aa656ab2cb)
diff --git a/.github/workflows/renode-commissioning-tests.yaml b/.github/workflows/renode-commissioning-tests.yaml
--- a/.github/workflows/renode-commissioning-tests.yaml
+++ b/.github/workflows/renode-commissioning-tests.yaml
@@ -16,7 +16,7 @@
renode-commissioning:
name: Renode commissioning smoke test
runs-on: ubuntu-latest
- timeout-minutes: 45
+ timeout-minutes: 60
continue-on-error: true
steps:
- name: Checkout
diff --git a/renode_integration/harness/matter_sim.py b/renode_integration/harness/matter_sim.py
--- a/renode_integration/harness/matter_sim.py
+++ b/renode_integration/harness/matter_sim.py
@@ -116,7 +116,7 @@
self.write_line(f'{cmd}; echo "__RC=$?"')
matched = self.wait_for(r"__RC=(\d+)", timeout_s=timeout_s)
report = self.get_report()
- match = re.search(r"__RC=(\d+)", matched) or re.search(r"__RC=(\d+)", report)
+ match = re.search(r"__RC=(\d+)", matched)
if match is None:
raise RuntimeError(f"could not parse exit code from console output\n{report[-2000:]}")
return int(match.group(1)), reportYou can send follow-ups to the cloud agent here.
|
bugbot run |
96db8d6 to
36b00db
Compare
f2addfc to
30c3aea
Compare
|
bugbot run |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
Autofix Details
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Artifact download missing actions scope
- Added actions: read permission to renode-commissioning-tests.yaml permissions block to allow artifact downloads from the called reusable workflow.
Or push these changes by commenting:
@cursor push c0fbc5337e
Preview (c0fbc5337e)
diff --git a/.github/workflows/renode-commissioning-tests.yaml b/.github/workflows/renode-commissioning-tests.yaml
--- a/.github/workflows/renode-commissioning-tests.yaml
+++ b/.github/workflows/renode-commissioning-tests.yaml
@@ -11,6 +11,7 @@
permissions:
contents: read
packages: read
+ actions: read
jobs:
renode-commissioning:You can send follow-ups to the cloud agent here.
09d5cb9 to
472bed8
Compare
|
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 472bed8. Configure here.
…n with merge app delete artifacts
8466604 to
0b2ca3b
Compare

Issue Link:
MATTER-7075
Description of Problem/Feature:
Exercise the published simulation bundle from prior work in PR stack and CI lighting app build with a Renode commissioning test
Description of Fix/Solution:
renode-commissioning-tests.yamlthat fetches Renode bundle from GHCR, downloads lighting app binary, and runs pyrenode3 harness againstmatter-sim.resccommissioning_test.py: ble-thread commissioning then onoff toggle. writes log files for visibility in CI outputdev-apps-builderafter successful lighting app build (withcontinue-on-error: truefor pilot phase)Additional workflow takes ~7 min to run based on tests in fork repo, but since it runs in parallel with dev-apps-builder no net gain in CI time.
Testing Done:
Test workflow in fork repo
Also tested manual flow using pyrenode3 harness for commissioning test as outlined in the README
Note that PR CI failure is expected as there is no package created in this repo yet. Once phase 2 of workflow input PR is merged, we can produce a container and run PR CI against it.