Skip to content

Commit f766a3a

Browse files
Merge branch 'master' into fix-darwin-struct-property-name
2 parents 1572476 + 4aaa973 commit f766a3a

Some content is hidden

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

53 files changed

+4479
-314
lines changed

.github/workflows/matter.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ jobs:
192192

193193
# CHIP container required because clang-format version needs to match
194194
container:
195-
image: connectedhomeip/chip-build:0.6.11
195+
image: ghcr.io/project-chip/chip-build:125
196196

197197
steps:
198198
- uses: actions/download-artifact@v4

.github/workflows/release.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,76 @@ jobs:
333333
- name: ZAP binary check (Linux) - unzip cleanup
334334
if: startsWith(matrix.os, 'ubuntu')
335335
run: rm -rf dist/zap-linux
336+
- name: Verify zap.png exists in package's base directory
337+
if: startsWith(matrix.os, 'ubuntu')
338+
uses: GuillaumeFalourd/[email protected]
339+
with:
340+
command_line: ./node_modules/7zip-bin/linux/x64/7za l ./dist/zap-linux-x64.zip | grep zap.png
341+
contains: 'zap.png'
342+
343+
- name: Verify zap.png exists in package's app.asar archive
344+
if: startsWith(matrix.os, 'ubuntu')
345+
uses: GuillaumeFalourd/[email protected]
346+
with:
347+
command_line: npx asar l ./dist/linux-unpacked/resources/app.asar | grep zap.png
348+
contains: 'zap.png'
349+
350+
- name: Verify zap.png exists in Windows x64 .zip package
351+
if: startsWith(matrix.os, 'macos')
352+
uses: GuillaumeFalourd/[email protected]
353+
with:
354+
command_line: 7za l ./dist/zap-win-x64.zip | grep zap.png
355+
contains: 'zap.png'
356+
357+
- name: Verify zap.png exists in Windows x64 .zip package's app.asar archive
358+
if: startsWith(matrix.os, 'macos')
359+
uses: GuillaumeFalourd/[email protected]
360+
with:
361+
command_line: npx asar l ./dist/win-unpacked/resources/app.asar | grep zap.png
362+
contains: 'zap.png'
363+
364+
- name: Verify zap.png exists in Windows arm64 .zip package
365+
if: startsWith(matrix.os, 'macos')
366+
uses: GuillaumeFalourd/[email protected]
367+
with:
368+
command_line: 7za l ./dist/zap-win-arm64.zip | grep zap.png
369+
contains: 'zap.png'
370+
371+
- name: Verify zap.png exists in Windows arm64 .zip package's app.asar archive
372+
if: startsWith(matrix.os, 'macos')
373+
uses: GuillaumeFalourd/[email protected]
374+
with:
375+
command_line: npx asar l ./dist/win-arm64-unpacked/resources/app.asar | grep zap.png
376+
contains: 'zap.png'
377+
378+
- name: Verify zap.png exists in macOS x64 .zip package
379+
if: startsWith(matrix.os, 'macos')
380+
uses: GuillaumeFalourd/[email protected]
381+
with:
382+
command_line: 7za l ./dist/zap-mac-x64.zip | grep zap.png
383+
contains: 'zap.png'
384+
385+
- name: Verify zap.png exists in macOS x64 .zip package's app-x64.asar archive
386+
if: startsWith(matrix.os, 'macos')
387+
uses: GuillaumeFalourd/[email protected]
388+
with:
389+
command_line: npx asar l ./dist/mac/zap.app/Contents/Resources/app-x64.asar | grep zap.png
390+
contains: 'zap.png'
391+
392+
- name: Verify zap.png exists in macOS arm64 .zip package
393+
if: startsWith(matrix.os, 'macos')
394+
uses: GuillaumeFalourd/[email protected]
395+
with:
396+
command_line: 7za l ./dist/zap-mac-arm64.zip | grep zap.png
397+
contains: 'zap.png'
398+
399+
- name: Verify zap.png exists in macOS arm64 .zip package's app-arm64.asar archive
400+
if: startsWith(matrix.os, 'macos')
401+
uses: GuillaumeFalourd/[email protected]
402+
with:
403+
command_line: npx asar l ./dist/mac-arm64/zap.app/Contents/Resources/app-arm64.asar | grep zap.png
404+
contains: 'zap.png'
405+
336406
- name: Verify apack.json exists in package's base directory
337407
if: startsWith(matrix.os, 'ubuntu')
338408
uses: GuillaumeFalourd/[email protected]

apack.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
"id": "ZAP",
5656
"category": "tools",
5757
"label": "ZCL Advanced Platform",
58+
"icon": "zap.png",
5859
"launchUiFunction": "launchZAP",
5960
"toolTip": "ZCL Advanced Platform"
6061
}

cypress/e2e/clusters/cluster-filter.cy.js

Lines changed: 77 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,94 @@ describe('Testing cluster filters', () => {
1313
})
1414
cy.setZclProperties()
1515
cy.fixture('data').then((data) => {
16-
cy.addEndpoint(data.endpoint1, data.cluster1)
16+
// Selecting SE Range Extender for Zigbee
17+
// Selecting Matter Dimmable Light (0x0101) for Matter
18+
cy.addEndpoint(data.endpoint9)
1719
})
1820
})
1921
it(
2022
'filter enabled clusters and check clusters',
2123
{ retries: { runMode: 2, openMode: 2 } },
2224
() => {
2325
cy.get('[data-test="filter-input"]').click()
26+
// Selecting Enabled clusters
2427
cy.get('.q-virtual-scroll__content > :nth-child(3)').click({
2528
force: true
2629
})
2730
cy.fixture('data').then((data) => {
28-
cy.get('tbody').children().contains(data.cluster2).should('not.exist')
31+
// Power Configurator for Zigbee is disabled and should not show up
32+
// Occupancy Sensing for Matter is disabled and should not exist
33+
cy.get('tbody').children().contains(data.cluster10).should('not.exist')
34+
// Basic for Zigbee is enabled and should show up
35+
// Identify for Matter is enabled and should show up
36+
cy.get('tbody').children().contains(data.cluster11).should('exist')
37+
})
38+
}
39+
)
40+
it(
41+
'filter legal clusters and check clusters',
42+
{ retries: { runMode: 2, openMode: 2 } },
43+
() => {
44+
cy.get('[data-test="filter-input"]').click()
45+
// Selecting Legal Clusters
46+
cy.get('.q-virtual-scroll__content > :nth-child(4)').click({
47+
force: true
48+
})
49+
cy.fixture('data').then((data) => {
50+
// Power Configurator for Zigbee is legal and should show up
51+
// Occupancy Sensing for Matter is legal and should show up
52+
if (data.cluster10 == 'Power Configuration') {
53+
cy.get('tbody')
54+
.children()
55+
.contains(data.cluster10)
56+
.should('exist')
57+
.parents('tr')
58+
.within(() => {
59+
cy.get('div[role="checkbox"][aria-label="Client"]')
60+
.should('have.attr', 'aria-checked', 'false')
61+
.click({ force: true })
62+
.should('have.attr', 'aria-checked', 'false') // Even when clicking on the client checkbox it should not be enabled because of legal cluster filter setting does not allow non Device type clusters to be enabled.
63+
})
64+
cy.get('tbody')
65+
.children()
66+
.contains(data.cluster10)
67+
.should('exist')
68+
.parents('tr')
69+
.within(() => {
70+
cy.get('div[role="checkbox"][aria-label="Server"]')
71+
.should('have.attr', 'aria-checked', 'false')
72+
.click({ force: true })
73+
.should('have.attr', 'aria-checked', 'true') // when clicking on the server checkbox it should be enabled because of legal cluster filter setting allows it to be selected
74+
})
75+
} else {
76+
// Occupancy Sensing
77+
cy.get('tbody')
78+
.children()
79+
.contains(data.cluster10)
80+
.should('exist')
81+
.parents('tr')
82+
.within(() => {
83+
cy.get('div[role="checkbox"][aria-label="Client"]')
84+
.should('have.attr', 'aria-checked', 'false')
85+
.click({ force: true })
86+
.should('have.attr', 'aria-checked', 'true') // when clicking on the server checkbox it should be enabled because of legal cluster filter setting allows it to be selected
87+
})
88+
cy.get('tbody')
89+
.children()
90+
.contains(data.cluster10)
91+
.should('exist')
92+
.parents('tr')
93+
.within(() => {
94+
cy.get('div[role="checkbox"][aria-label="Server"]')
95+
.should('have.attr', 'aria-checked', 'false')
96+
.click({ force: true })
97+
.should('have.attr', 'aria-checked', 'false') // Even when clicking on the client checkbox it should not be enabled because of legal cluster filter setting does not allow non Device type clusters to be enabled.
98+
})
99+
}
100+
101+
// Basic for Zigbee is legal and should show up
102+
// Identify for Matter is legal and should show up
103+
cy.get('tbody').children().contains(data.cluster11).should('exist')
29104
})
30105
}
31106
)

cypress/fixtures/data.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"endpoint6": "LO Dimmable Light (0x0101)",
88
"endpoint7": "Billing Unit (0x0203)",
99
"endpoint8": "Billing Unit (0x0203)",
10+
"endpoint9": "SE Range Extender (0x0008)",
1011
"cluster1": "General",
1112
"cluster2": "Power Configuration",
1213
"cluster3": "Basic",
@@ -16,6 +17,8 @@
1617
"cluster7": "Identify",
1718
"cluster8": "Data Sharing",
1819
"cluster9": "General",
20+
"cluster10": "Power Configuration",
21+
"cluster11": "Basic",
1922
"attribute1": "ZCL version",
2023
"attribute2": "application version",
2124
"attribute3": "OTA Upgrade Server ID",

cypress/matterFixtures/data.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"endpoint6": "Matter Dimmable Light (0x0101)",
88
"endpoint7": "Matter Control Bridge",
99
"endpoint8": "Matter Color Temperature Light (0x010C)",
10+
"endpoint9": "Matter Dimmable Light (0x0101)",
1011
"cluster1": "General",
1112
"cluster2": "On/off Switch Configuration",
1213
"cluster3": "Basic",
@@ -16,6 +17,8 @@
1617
"cluster7": "Identify",
1718
"cluster8": "Pulse Width Modulation",
1819
"cluster9": "General",
20+
"cluster10": "Occupancy Sensing",
21+
"cluster11": "Identify",
1922
"attribute1": "GeneratedCommandList",
2023
"attribute2": "IdentifyTime",
2124
"attribute3": "ClusterRevision",

0 commit comments

Comments
 (0)