Skip to content

Commit 4bc96e5

Browse files
authored
Merge branch 'master' into issue_30383_appliancexmlcleanup-2
2 parents 0523fb1 + 47a95b9 commit 4bc96e5

File tree

651 files changed

+70408
-12771
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

651 files changed

+70408
-12771
lines changed

.github/PULL_REQUEST_TEMPLATE.md

+13-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1-
> !!!!!!!!!! Please delete the instructions below and replace with PR description
1+
2+
#### Testing
3+
4+
> !!!!!!!!!! Please delete the instructions below and replace with PR
5+
> description above.
26
>
3-
> If you have an issue number, please use a syntax of
4-
> `Fixes #12345` and a brief change description
7+
> If you have an issue number, please use a syntax of `Fixes #12345` and a brief
8+
> change description
59
>
6-
> If you do not have an issue number, please have a good description of
7-
> the problem and the fix. Help the reviewer understand what to expect.
10+
> If you do not have an issue number, please have a good description of the
11+
> problem and the fix. Help the reviewer understand what to expect.
12+
>
13+
> Complete/append to the `### Testing` section above, to describe how testing
14+
> was done. See
15+
> <https://github.com/project-chip/connectedhomeip/blob/master/CONTRIBUTING.md#pull-requests>
816
>
917
> Make sure you delete these instructions (to prove you have read them).
1018
>
1119
> !!!!!!!!!! Instructions end
12-

.github/labeler.yml

-9
Original file line numberDiff line numberDiff line change
@@ -119,15 +119,6 @@ test driver:
119119
- src/test_driver/*
120120
- src/test_driver/**/*
121121

122-
# Cert tests touched: add current milestone delta-tracking label.
123-
# TODO: Change after Aug 15, 2024
124-
matter-1.4-te2-script-change:
125-
- changed-files:
126-
- any-glob-to-any-file:
127-
- src/python_testing/*
128-
- src/python_testing/**/*
129-
- src/app/tests/suites/certification/*
130-
131122
############################################################
132123
# Source Code
133124
############################################################

.github/workflows/build.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,8 @@ jobs:
363363
python -m ensurepip --upgrade
364364
python -m pip install -r scripts/setup/requirements.setuppayload.txt
365365
python3 src/setup_payload/tests/run_python_setup_payload_test.py out/chip-tool
366+
- name: Run revocation set generation tests
367+
run: scripts/run_in_build_env.sh 'python3 -m unittest -v credentials/generate_revocation_set.py'
366368

367369
build_linux_python_lighting_device:
368370
name: Build on Linux (python lighting-app)

.github/workflows/cancel_workflows_for_pr.yaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,16 @@ jobs:
3535
python-version: '3.12'
3636
- name: Setup pip modules we use
3737
run: |
38-
pip install \
38+
python3 -m venv venv
39+
venv/bin/pip3 install \
3940
click \
4041
coloredlogs \
4142
python-dateutil \
4243
pygithub \
43-
&& echo "DONE installint python prerequisites"
44+
&& echo "DONE installing python prerequisites"
4445
- name: Cancel runs
4546
run: |
46-
scripts/tools/cancel_workflows_for_pr.py \
47+
venv/bin/python3 scripts/tools/cancel_workflows_for_pr.py \
4748
--gh-api-token "${{ secrets.GITHUB_TOKEN }}" \
4849
--require "Restyled" \
4950
--require "Lint Code Base" \

.github/workflows/darwin.yaml

+10-1
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,18 @@ jobs:
117117
export TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1
118118
119119
# Disable BLE (CHIP_IS_BLE=NO) because the app does not have the permission to use it and that may crash the CI.
120-
xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx ${{ matrix.options.arguments }} \
120+
xcodebuild test -target "Matter" -scheme "Matter Framework Tests" \
121+
-resultBundlePath /tmp/darwin/framework-tests/TestResults.xcresult \
122+
-sdk macosx ${{ matrix.options.arguments }} \
121123
CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} ${{ matrix.options.defines }}' \
122124
> >(tee /tmp/darwin/framework-tests/darwin-tests.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-err.log >&2)
125+
- name: Generate Summary
126+
if: always()
127+
working-directory: /tmp
128+
run: |
129+
wget https://github.com/a7ex/xcresultparser/releases/download/1.8.4/xcresultparser.zip
130+
unzip -j xcresultparser.zip
131+
./xcresultparser --output-format md --failed-tests-only /tmp/darwin/framework-tests/TestResults.xcresult >>"$GITHUB_STEP_SUMMARY"
123132
- name: Collect crash logs
124133
if: failure() && !env.ACT
125134
run: |

.github/workflows/docbuild.yaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,18 @@ jobs:
2929
- name: Install Python
3030
uses: actions/setup-python@v5
3131
with:
32-
python-version: 3.8
32+
python-version: 3.12
3333
cache-dependency-path: matter/docs/requirements.txt
3434
cache: pip
3535
- name: Install base dependencies
3636
working-directory: matter
3737
run: |
38-
sudo pip3 install -U pip
39-
pip3 install -r docs/requirements.txt
38+
python3 -m venv venv
39+
venv/bin/pip3 install -r docs/requirements.txt
4040
- name: Build documentation
4141
working-directory: matter/docs
4242
run: |
43+
source ../venv/bin/activate
4344
mkdir -p _build/src
4445
make html
4546
touch _build/html/.nojekyll

.github/workflows/examples-bouffalolab.yaml

+19-1
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,26 @@ jobs:
116116
- name: Clean out build output
117117
run: rm -rf ./out
118118

119+
- name: Build example BL702L Contact Sensor
120+
timeout-minutes: 30
121+
run: |
122+
./scripts/run_in_build_env.sh \
123+
"./scripts/build/build_examples.py \
124+
--target bouffalolab-bl704ldk-contact-sensor-thread-mtd-littlefs-mfd \
125+
build \
126+
--copy-artifacts-to out/artifacts \
127+
"
128+
- name: Prepare some bloat report from the previous builds
129+
run: |
130+
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
131+
bl702l bl702l+mfd+littlefs contact-sensor-app \
132+
out/artifacts/bouffalolab-bl704ldk-contact-sensor-thread-mtd-littlefs-mfd/chip-bl702l-contact-sensor-example.out \
133+
/tmp/bloat_reports/
134+
- name: Clean out build output
135+
run: rm -rf ./out
136+
119137
- name: Uploading Size Reports
120138
uses: ./.github/actions/upload-size-reports
121139
if: ${{ !env.ACT }}
122140
with:
123-
platform-name: BouffaloLab
141+
platform-name: BouffaloLab

.github/workflows/examples-efr32.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
if: github.actor != 'restyled-io[bot]'
4242

4343
container:
44-
image: ghcr.io/project-chip/chip-build-efr32:94
44+
image: ghcr.io/project-chip/chip-build-efr32:95
4545
volumes:
4646
- "/tmp/bloat_reports:/tmp/bloat_reports"
4747
steps:

.github/workflows/examples-esp32.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ jobs:
9393
mv scripts/codegen.py.renamed scripts/codegen.py
9494
mv scripts/tools/zap/generate.py.renamed scripts/tools/zap/generate.py
9595
- name: Build example All Clusters App(Target:ESP32C3)
96-
run: scripts/examples/esp_example.sh all-clusters-app sdkconfig.defaults.esp32c3 esp32c3
96+
run: scripts/examples/esp_example.sh all-clusters-app sdkconfig.defaults esp32c3
9797
- name: Build example All Clusters App(Target:ESP32)
9898
run: |
9999
./scripts/run_in_build_env.sh \
@@ -114,10 +114,10 @@ jobs:
114114
/tmp/bloat_reports/
115115
116116
- name: Build example Lighting App (Target:ESP32H2)
117-
run: scripts/examples/esp_example.sh lighting-app sdkconfig.defaults.esp32h2 esp32h2
117+
run: scripts/examples/esp_example.sh lighting-app sdkconfig.defaults esp32h2
118118

119119
- name: Build example Lighting App (Target:ESP32C6)
120-
run: scripts/examples/esp_example.sh lighting-app sdkconfig.defaults.esp32c6 esp32c6
120+
run: scripts/examples/esp_example.sh lighting-app sdkconfig.defaults esp32c6
121121

122122
- name: Uploading Size Reports
123123
uses: ./.github/actions/upload-size-reports
@@ -163,7 +163,7 @@ jobs:
163163
run: scripts/examples/esp_example.sh ota-provider-app sdkconfig.defaults
164164

165165
- name: Build example Light Switch App (Target:ESP32C3)
166-
run: scripts/examples/esp_example.sh light-switch-app sdkconfig.defaults.esp32c3 esp32c3
166+
run: scripts/examples/esp_example.sh light-switch-app sdkconfig.defaults esp32c3
167167

168168
- name: Build example Lighting App (external platform)
169169
run: scripts/examples/esp_example.sh lighting-app sdkconfig.ext_plat.defaults
@@ -178,4 +178,4 @@ jobs:
178178
run: scripts/examples/esp_example.sh pigweed-app sdkconfig.defaults
179179

180180
- name: Build example Lock App (Target:ESP32C6)
181-
run: scripts/examples/esp_example.sh lock-app sdkconfig.defaults.esp32c6 esp32c6
181+
run: scripts/examples/esp_example.sh lock-app sdkconfig.defaults esp32c6

.github/workflows/examples-nxp.yaml

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
if: github.actor != 'restyled-io[bot]'
4141

4242
container:
43-
image: ghcr.io/project-chip/chip-build-nxp:94
43+
image: ghcr.io/project-chip/chip-build-nxp:96
4444
volumes:
4545
- "/tmp/bloat_reports:/tmp/bloat_reports"
4646
steps:
@@ -203,7 +203,6 @@ jobs:
203203
scripts/run_in_build_env.sh "\
204204
./scripts/build/build_examples.py \
205205
--target nxp-rw61x-freertos-all-clusters-wifi \
206-
--target nxp-rw61x-freertos-all-clusters-wifi-ota-cmake \
207206
build \
208207
--copy-artifacts-to out/artifacts \
209208
"

.github/workflows/java-tests.yaml

+14
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ jobs:
9494
--target linux-x64-all-clusters-ipv6only-no-ble-no-wifi-tsan-clang-test \
9595
--target linux-x64-java-matter-controller \
9696
--target linux-x64-lit-icd-ipv6only \
97+
--target linux-x64-ota-requestor \
9798
build \
9899
"
99100
- name: Build Kotlin Matter Controller
@@ -259,6 +260,19 @@ jobs:
259260
--tool-args "onnetwork-long --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \
260261
--factoryreset \
261262
'
263+
- name: Run Pairing ICD Onnetwork and OTA test
264+
# Generally completes in seconds
265+
timeout-minutes: 2
266+
run: |
267+
scripts/run_in_python_env.sh out/venv \
268+
'./scripts/tests/run_java_test.py \
269+
--app out/linux-x64-ota-requestor/chip-ota-requestor-app \
270+
--app-args "--discriminator 3840 --interface-id -1" \
271+
--tool-path out/linux-x64-java-matter-controller \
272+
--tool-cluster "ota" \
273+
--tool-args "onnetwork-long-ota-over-bdx --nodeid 1 --setup-pin-code 20202021 --discriminator 3840 -t 1000" \
274+
--factoryreset \
275+
'
262276
- name: Run Pairing Onnetwork and get diagnostic log Test
263277
run: |
264278
scripts/run_in_python_env.sh out/venv \

.github/workflows/pr-validation.yaml

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: PR validity
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened, edited]
6+
7+
jobs:
8+
check_testing_header:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Check for `### Testing` section in PR
12+
id: check-testing
13+
continue-on-error: true
14+
run: |
15+
cat >/tmp/pr-summary.txt << "EndMarkerForPrSummary"
16+
${{ github.event.pull_request.body }}
17+
EndMarkerForPrSummary
18+
19+
python -c 'import sys; pr_summary = open("/tmp/pr-summary.txt", "rt").read(); sys.exit(0 if "### Testing" in pr_summary else 1)'
20+
21+
- name: Check for PR starting instructions
22+
id: check-instructions
23+
continue-on-error: true
24+
run: |
25+
cat >/tmp/pr-summary.txt << "EndMarkerForPrSummary"
26+
${{ github.event.pull_request.body }}
27+
EndMarkerForPrSummary
28+
29+
python -c 'import sys; pr_summary = open("/tmp/pr-summary.txt", "rt").read(); sys.exit(1 if "Make sure you delete these instructions" in pr_summary else 0)'
30+
31+
# NOTE: comments disabled for now as separate permissions are required
32+
# failing CI step may be sufficient to start (although it contains less information about why it failed)
33+
34+
# - name: Add comment (missing instructions)
35+
# if: steps.check-instructions.outcome == 'failure'
36+
# uses: actions/github-script@v6
37+
# with:
38+
# github-token: ${{ secrets.GITHUB_TOKEN }}
39+
# script: |
40+
# github.rest.issues.createComment({
41+
# issue_number: context.issue.number,
42+
# owner: context.repo.owner,
43+
# repo: context.repo.repo,
44+
# body: 'Please make sure to delete starter instructions from your PR summary and replace them with a descriptive summary.'
45+
# })
46+
47+
- name: Fail if PR instructions were not deleted
48+
if: steps.check-instructions.outcome == 'failure'
49+
run: |
50+
python -c 'import sys; print("PR instructions were not replaced"); sys.exit(1)'
51+
52+
# - name: Add comment (missing testing)
53+
# if: steps.check-testing.outcome == 'failure'
54+
# uses: actions/github-script@v6
55+
# with:
56+
# github-token: ${{ secrets.GITHUB_TOKEN }}
57+
# script: |
58+
# github.rest.issues.createComment({
59+
# issue_number: context.issue.number,
60+
# owner: context.repo.owner,
61+
# repo: context.repo.repo,
62+
# body: 'Please add a `### Testing` section to your PR summary describing the testing performed. See https://github.com/project-chip/connectedhomeip/blob/master/CONTRIBUTING.md#pull-requests'
63+
# })
64+
65+
- name: Fail if `### Testing` section not in PR
66+
if: steps.check-testing.outcome == 'failure'
67+
run: |
68+
python -c 'import sys; print("Testing section missing (test failed)"); sys.exit(1)'
69+

.github/workflows/protocol_compatibility.yaml

+4-5
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ jobs:
3030
- name: Setup python
3131
uses: actions/setup-python@v5
3232
with:
33-
python-version: 3.11
33+
python-version: 3.12
3434
- name: Install dependencies
3535
run: |
36-
python -m pip install --upgrade pip
37-
pip install click coloredlogs lark
36+
python3 -m venv venv
37+
venv/bin/pip3 install click coloredlogs lark
3838
- name: Create old/new copies
3939
run: |
4040
mkdir -p out
@@ -45,5 +45,4 @@ jobs:
4545
patch -p1 <out/patch.diff
4646
- name: Check backwards compatibility
4747
run: |
48-
scripts/backwards_compatibility_checker.py out/old_version.matter out/new_version.matter
49-
48+
venv/bin/python3 scripts/backwards_compatibility_checker.py out/old_version.matter out/new_version.matter

.github/workflows/restyled.yml

+4
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ jobs:
1515
uses: actions/checkout@v4
1616

1717
- uses: restyled-io/actions/setup@v4
18+
with:
19+
# Pin the Restyler version to v0.6.0.2
20+
tag: 'v0.6.0.2'
21+
1822
- id: restyler
1923
uses: restyled-io/actions/run@v4
2024
with:

.github/workflows/tests.yaml

+6-1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ jobs:
9696
src/app/zap-templates/zcl/data-model/chip/global-bitmaps.xml \
9797
src/app/zap-templates/zcl/data-model/chip/global-enums.xml \
9898
src/app/zap-templates/zcl/data-model/chip/global-structs.xml \
99+
src/app/zap-templates/zcl/data-model/chip/push-av-stream-transport-cluster.xml \
99100
src/app/zap-templates/zcl/data-model/chip/semantic-tag-namespace-enums.xml \
100101
src/app/zap-templates/zcl/data-model/chip/access-control-definitions.xml \
101102
src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml \
@@ -111,6 +112,7 @@ jobs:
111112
src/app/zap-templates/zcl/data-model/chip/boolean-state-cluster.xml \
112113
src/app/zap-templates/zcl/data-model/chip/actions-cluster.xml \
113114
src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml \
115+
src/app/zap-templates/zcl/data-model/chip/camera-av-settings-user-level-management-cluster.xml \
114116
src/app/zap-templates/zcl/data-model/chip/camera-av-stream-management-cluster.xml \
115117
src/app/zap-templates/zcl/data-model/chip/chip-ota.xml \
116118
src/app/zap-templates/zcl/data-model/chip/chip-types.xml \
@@ -185,6 +187,7 @@ jobs:
185187
src/app/zap-templates/zcl/data-model/chip/software-diagnostics-cluster.xml \
186188
src/app/zap-templates/zcl/data-model/chip/switch-cluster.xml \
187189
src/app/zap-templates/zcl/data-model/chip/target-navigator-cluster.xml \
190+
src/app/zap-templates/zcl/data-model/chip/temperature-control-cluster.xml \
188191
src/app/zap-templates/zcl/data-model/chip/temperature-measurement-cluster.xml \
189192
src/app/zap-templates/zcl/data-model/chip/test-cluster.xml \
190193
src/app/zap-templates/zcl/data-model/chip/thermostat-user-interface-configuration-cluster.xml \
@@ -195,6 +198,7 @@ jobs:
195198
src/app/zap-templates/zcl/data-model/chip/time-format-localization-cluster.xml \
196199
src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml \
197200
src/app/zap-templates/zcl/data-model/chip/timer-cluster.xml \
201+
src/app/zap-templates/zcl/data-model/chip/tls-certificate-management-cluster.xml \
198202
src/app/zap-templates/zcl/data-model/chip/user-label-cluster.xml \
199203
src/app/zap-templates/zcl/data-model/chip/unit-localization-cluster.xml \
200204
src/app/zap-templates/zcl/data-model/chip/wake-on-lan-cluster.xml \
@@ -523,7 +527,8 @@ jobs:
523527
- name: Verify Testing Support
524528
run: |
525529
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_IDM_10_4.py'
526-
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_TC_ICDM_2_1.py'
530+
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_TC_ICDM_2_1_full_pics.py'
531+
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_TC_ICDM_2_1_min_pics.py'
527532
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_TC_SC_7_1.py'
528533
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/TestDecorators.py'
529534
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/TestChoiceConformanceSupport.py'

.github/workflows/third-party-check.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ on:
2121
paths:
2222
- "third_party/**"
2323
- ".gitmodules"
24+
types: [opened, synchronize, reopened, labeled, unlabeled]
2425

2526
jobs:
2627
check-submodule-update-label:
@@ -32,7 +33,7 @@ jobs:
3233
run: |
3334
echo This pull request attempts to update submodules without the changing-submodules-on-purpose label. Please apply that label if the changes are intentional, or remove those changes.
3435
exit 1
35-
- if: ${{ contains(github.event.pull_request.labels.*.name, 'changing-submodules-on-purpose') }}
36+
- if: ${{ contains(github.event.pull_request.labels.*.name, 'changing-submodules-on-purpose') }}
3637
name: Success
3738
run: |
3839
echo PR looks good.

0 commit comments

Comments
 (0)