-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Add support for isFabricScoped on a command & use it in TLSCertificateManagementCluster #37969
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
src/app/zap-templates/templates/app/im-cluster-command-handler.zapt
Outdated
Show resolved
Hide resolved
zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
Outdated
Show resolved
Hide resolved
zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
Outdated
Show resolved
Hide resolved
src/app/zap-templates/templates/app/im-cluster-command-handler.zapt
Outdated
Show resolved
Hide resolved
ec7e2dd
to
8ae2f6a
Compare
PR #37969: Size comparison from 4d9b423 to 985f8bc Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #37969: Size comparison from 69a4609 to 6043f08 Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
* Add VID Verification Statement to TC-RR-1.1 - Add VID Verification Statement filling to TC-RR-1.1 - Matches CHIP-Specifications/chip-test-plans#5131 - Add missing logging - Add missing checks as well that were listed in test plan but not actually implemented. - Add native methods missing to implement test changes * Restyled by clang-format * Restyled by autopep8 * Fix lint * Update src/python_testing/TC_RR_1_1.py Co-authored-by: C Freeman <cecille@google.com> * Fix value access in attestation challenge getter --------- Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: C Freeman <cecille@google.com>
* Add VID Verification Statement to TC-RR-1.1 - Add VID Verification Statement filling to TC-RR-1.1 - Matches CHIP-Specifications/chip-test-plans#5131 - Add missing logging - Add missing checks as well that were listed in test plan but not actually implemented. - Add native methods missing to implement test changes * Restyled by clang-format * Restyled by autopep8 * Fix lint * Update src/python_testing/TC_RR_1_1.py Co-authored-by: C Freeman <cecille@google.com> * Fix value access in attestation challenge getter --------- Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: C Freeman <cecille@google.com>
PR #37969: Size comparison from 599c3b2 to 4452f93 Increases above 0.2%:
Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
…eManagementCluster (project-chip#37969) * Add support for isFabricScoped on command * Re-introduce isFabricScoped on structs & commands * Generated using ./scripts/tools/zap_regen_all.py * Apply code review suggestions * Improve calls to Decode * Revert unnecessary change from client-side changes * Merge conflicts from project-chip#38390 * Additional changes to support EncodeForRead with accessingFabricIndex * Add kIsFabricScoped to hand-rolled structs * Add VID Verification Statement to TC-RR-1.1 (project-chip#38712) * Add VID Verification Statement to TC-RR-1.1 - Add VID Verification Statement filling to TC-RR-1.1 - Matches CHIP-Specifications/chip-test-plans#5131 - Add missing logging - Add missing checks as well that were listed in test plan but not actually implemented. - Add native methods missing to implement test changes * Restyled by clang-format * Restyled by autopep8 * Fix lint * Update src/python_testing/TC_RR_1_1.py Co-authored-by: C Freeman <cecille@google.com> * Fix value access in attestation challenge getter --------- Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: C Freeman <cecille@google.com> * Add VID Verification Statement to TC-RR-1.1 (project-chip#38712) * Add VID Verification Statement to TC-RR-1.1 - Add VID Verification Statement filling to TC-RR-1.1 - Matches CHIP-Specifications/chip-test-plans#5131 - Add missing logging - Add missing checks as well that were listed in test plan but not actually implemented. - Add native methods missing to implement test changes * Restyled by clang-format * Restyled by autopep8 * Fix lint * Update src/python_testing/TC_RR_1_1.py Co-authored-by: C Freeman <cecille@google.com> * Fix value access in attestation challenge getter --------- Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: C Freeman <cecille@google.com> * Generated using ./scripts/tools/zap_regen_all.py --------- Co-authored-by: Tennessee Carmel-Veilleux <tennessee.carmelveilleux@gmail.com> Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: C Freeman <cecille@google.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/pullapprove-test
version: 3
# https://developer.github.com/v3/previews/#draft-pull-requests
github_api_version: "shadow-cat-preview"
############################################################
# Overrides
############################################################
overrides:
- if: "'hotfix' in labels"
status: success
explanation: "Hotfix label added, bypassing reviews"
############################################################
# Draft PRs
############################################################
- if: "draft"
status: pending
explanation: "PR is draft, pending review"
############################################################
# License Checks
############################################################
- if: "'*license/cla*' not in statuses.successful"
status: pending
explanation: "CLA must be agreed to by all contributors"
############################################################
# Conditions to Skip Review
############################################################
- if: "base.ref != 'master'"
status: success
explanation: "Review not required unless merging to master"
############################################################
# Require Issues
############################################################
# disabling until we have PRs up to date
# - if: "'*issue*' not in statuses.successful"
# status: failure
# explanation: "An issue is required for all PRs"
############################################################
# Fast tracking
############################################################
- if: "'fast track' in labels"
status: success
explanation: "PR has been fast tracked, bypassing reviews"
############################################################
# Notifications
############################################################
notifications:
############################################################
# New contributors
############################################################
- when: pull_request.opened
if: "author_association == 'FIRST_TIME_CONTRIBUTOR'"
comment: |
Hey @{{ author }}, thanks for the PR! The review will start once
the tests and CI checks have passed. If they don't, please review
the logs and try to fix the issues (ask for help if you can't
figure it out). A reviewer will be assigned once the tests are
passing and they'll walk you through getting the PR finished
and merged.
groups:
############################################################
# Shared Reviewer Groups
############################################################
shared-reviewers-amazon:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-amazon]
reviews:
request: 0 # Do not auto-add
shared-reviewers-apple:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-apple]
reviews:
request: 0 # Do not auto-add
shared-reviewers-bosch:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-bosch]
reviews:
request: 0 # Do not auto-add
shared-reviewers-comcast:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-comcast]
reviews:
request: 0 # Do not auto-add
shared-reviewers-dyson:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-dyson]
reviews:
request: 0 # Do not auto-add
shared-reviewers-espressif:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-espressif]
reviews:
request: 0 # Do not auto-add
shared-reviewers-google:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-google]
reviews:
request: 0 # Do not auto-add
shared-reviewers-grundfos:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-grundfos]
reviews:
request: 0 # Do not auto-add
shared-reviewers-irobot:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-irobot]
reviews:
request: 0 # Do not auto-add
shared-reviewers-lg:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-lg]
reviews:
request: 0 # Do not auto-add
shared-reviewers-logitech:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-logitech]
reviews:
request: 0 # Requested to be only on demand
shared-reviewers-nordic:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-nordic]
reviews:
request: 0 # Do not auto-add
shared-reviewers-nxp:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-nxp]
reviews:
request: 0 # Do not auto-add
shared-reviewers-samsung:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-samsung]
reviews:
request: 0 # Do not auto-add
shared-reviewers-eve:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-eve]
reviews:
request: 0 # Do not auto-add
# shared-reviewers-signify disabled for now, because the reviewers-signify
# team is empty and pullapprove seems to mis-handle that badly and treats
# _all_ reviewers as being in this group.
#
# See https://github.com/dropseed/pullapprove/issues/71
#
# shared-reviewers-signify:
# type: optional
# conditions:
# - files.include('*')
# reviewers:
# teams: [reviewers-signify]
# reviews:
# request: 0 # Do not auto-add
shared-reviewers-silabs:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-silabs]
reviews:
request: 0 # Do not auto-add
shared-reviewers-somfy:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-somfy]
reviews:
request: 0 # Do not auto-add
shared-reviewers-tcl:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-tcl]
reviews:
request: 0 # Do not auto-add
shared-reviewers-qorvo:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-qorvo]
reviews:
request: 0 # Do not auto-add
############################################################
# Path specific review requirments. A PR must meet the
# review requirements corresponding each path in the
# in the CUSTOM_REVIEW_PATHS list that it touches. If it
# touches a region not covered by any custom review paths,
# base condition is required.
############################################################
############################################################
# Review requirements for PRs touching scripts/build*.
# One shared-reviewers-scripts-build review is sufficient.
############################################################
folder-reviewers-scripts-build:
type: optional
conditions:
- "files.include('scripts/build/*') or files.include('integrations/docker/*')"
reviewers:
users:
- andy31415
reviews:
# 1 review request will be sent at a time
request: 1
############################################################
# Review requirements for PRs touching examples/chef*
# One Googler requirement is sufficient.
############################################################
folder-reviewers-google:
type: required
conditions:
- "files.include('examples/chef/*') or files.include('integrations/cloudbuild/*')"
requirements:
- "len(groups.approved.include('shared-reviewers-google')) >= 1 or \
len(groups.approved.include('shared-reviewers-*')) >= 2"
reviews:
required: 0
############################################################
# Review requirements for PRs touching src/darwin
# One Apple review is required.
############################################################
folder-reviewers-src-darwin:
type: required
conditions:
- "files.include('src/darwin/*').exclude('src/darwin/Framework/CHIP/zap-generated/*') or \
files.include('src/platform/Darwin/*')"
reviewers:
teams: [reviewers-apple]
reviews:
request: 0
required: 1
labels:
approved: "[Darwin] review - approved"
pending: "[Darwin] review - pending"
rejected: "[Darwin] review - changed requested"
############################################################
# Base Required Reviewers
############################################################
required-reviewers:
description: >
[Required
Reviewers](https://github.com/project-chip/connectedhomeip/blob/master/CONTRIBUTING.md#review-requirements)
This is the main group of required reviews for general pull
requests.
type: required
conditions:
# If PR touches a region not covered by any custom review paths, base condition is required.
- "files\
.exclude('examples/chef/*')\
.exclude('integrations/cloudbuild/*')\
.exclude('src/darwin/*')\
.exclude('src/platform/Darwin/*') or \
files.include('src/darwin/Framework/CHIP/zap-generated/*')"
requirements:
- len(groups.approved.include('shared-reviewers-*')) >= 2
reviews:
required: 0
labels:
approved: "review - approved"
pending: "review - pending"
rejected: "review - changed requested"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/pullapprove-test
version: 3
groups:
version: 3
# https://developer.github.com/v3/previews/#draft-pull-requests
github_api_version: "shadow-cat-preview"
############################################################
# Overrides
############################################################
overrides:
- if: "'hotfix' in labels"
status: success
explanation: "Hotfix label added, bypassing reviews"
############################################################
# Draft PRs
############################################################
- if: "draft"
status: pending
explanation: "PR is draft, pending review"
############################################################
# License Checks
############################################################
- if: "'*license/cla*' not in statuses.successful"
status: pending
explanation: "CLA must be agreed to by all contributors"
############################################################
# Conditions to Skip Review
############################################################
- if: "base.ref != 'master'"
status: success
explanation: "Review not required unless merging to master"
############################################################
# Require Issues
############################################################
# disabling until we have PRs up to date
# - if: "'*issue*' not in statuses.successful"
# status: failure
# explanation: "An issue is required for all PRs"
############################################################
# Fast tracking
############################################################
- if: "'fast track' in labels"
status: success
explanation: "PR has been fast tracked, bypassing reviews"
############################################################
# Notifications
############################################################
notifications:
############################################################
# New contributors
############################################################
- when: pull_request.opened
if: "author_association == 'FIRST_TIME_CONTRIBUTOR'"
comment: |
Hey @{{ author }}, thanks for the PR! The review will start once
the tests and CI checks have passed. If they don't, please review
the logs and try to fix the issues (ask for help if you can't
figure it out). A reviewer will be assigned once the tests are
passing and they'll walk you through getting the PR finished
and merged.
groups:
############################################################
# Shared Reviewer Groups
############################################################
shared-reviewers-amazon:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-amazon]
reviews:
request: 0 # Do not auto-add
shared-reviewers-apple:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-apple]
reviews:
request: 0 # Do not auto-add
shared-reviewers-bosch:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-bosch]
reviews:
request: 0 # Do not auto-add
shared-reviewers-comcast:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-comcast]
reviews:
request: 0 # Do not auto-add
shared-reviewers-dyson:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-dyson]
reviews:
request: 0 # Do not auto-add
shared-reviewers-espressif:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-espressif]
reviews:
request: 0 # Do not auto-add
shared-reviewers-google:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-google]
reviews:
request: 0 # Do not auto-add
shared-reviewers-grundfos:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-grundfos]
reviews:
request: 0 # Do not auto-add
shared-reviewers-irobot:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-irobot]
reviews:
request: 0 # Do not auto-add
shared-reviewers-lg:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-lg]
reviews:
request: 0 # Do not auto-add
shared-reviewers-logitech:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-logitech]
reviews:
request: 0 # Requested to be only on demand
shared-reviewers-nordic:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-nordic]
reviews:
request: 0 # Do not auto-add
shared-reviewers-nxp:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-nxp]
reviews:
request: 0 # Do not auto-add
shared-reviewers-samsung:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-samsung]
reviews:
request: 0 # Do not auto-add
shared-reviewers-eve:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-eve]
reviews:
request: 0 # Do not auto-add
# shared-reviewers-signify disabled for now, because the reviewers-signify
# team is empty and pullapprove seems to mis-handle that badly and treats
# _all_ reviewers as being in this group.
#
# See https://github.com/dropseed/pullapprove/issues/71
#
# shared-reviewers-signify:
# type: optional
# conditions:
# - files.include('*')
# reviewers:
# teams: [reviewers-signify]
# reviews:
# request: 0 # Do not auto-add
shared-reviewers-silabs:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-silabs]
reviews:
request: 0 # Do not auto-add
shared-reviewers-somfy:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-somfy]
reviews:
request: 0 # Do not auto-add
shared-reviewers-tcl:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-tcl]
reviews:
request: 0 # Do not auto-add
shared-reviewers-qorvo:
type: optional
conditions:
- files.include('*')
reviewers:
teams: [reviewers-qorvo]
reviews:
request: 0 # Do not auto-add
############################################################
# Folder specific review requirements. A PR must meet all
# folder specific review requirements for all folders that
# it touches with specific requirements defined.
############################################################
folder-reviewers-scripts-build-integrations-docker:
type: optional
conditions:
- "files.include('scripts/build/*') or files.include('integrations/docker/*')"
reviewers:
users:
- andy31415
reviews:
# 1 review request will be sent at a time
request: 1
folder-reviewers-google:
type: required
conditions:
- "files.include('examples/chef/*') or files.include('integrations/cloudbuild/*')"
requirements:
- "len(groups.approved.include('shared-reviewers-google')) >= 1 or \
len(groups.approved.include('shared-reviewers-*')) >= 2"
reviews:
required: 0
folder-reviewers-apple:
type: required
conditions:
- "files.include('src/darwin/*').exclude('src/darwin/Framework/CHIP/zap-generated/*') or \
files.include('src/platform/Darwin/*')"
reviewers:
teams: [reviewers-apple]
reviews:
request: 0
required: 1
############################################################
# Base Required Reviewers. If PR touches a path not covered
# by any folder specific review requirements.
############################################################
required-reviewers:
description: >
[Required
Reviewers](https://github.com/project-chip/connectedhomeip/blob/master/CONTRIBUTING.md#review-requirements)
This is the main group of required reviews for general pull
requests.
type: required
conditions:
# If PR touches a region not covered by any custom review paths, base condition is required.
- "files\
.exclude('examples/chef/*')\
.exclude('integrations/cloudbuild/*')\
.exclude('src/darwin/*')\
.exclude('src/platform/Darwin/*') or \
files.include('src/darwin/Framework/CHIP/zap-generated/*')"
requirements:
- len(groups.approved.include('shared-reviewers-*')) >= 2
reviews:
required: 0
labels:
approved: "review - approved"
pending: "review - pending"
rejected: "review - changed requested"
Add support for commands marked with
isFabricScoped
The behavior of these commands is specified at decode time if
source=client
, with the following method signature:And at encode time if
source=server
, with the following updated method signature:This is to guarantee consistent behavior on the receiver of the command (whether client or server), such that the fabric index is always set to by the server.
This is to match attribute behavior.
Testing
Verified by CI