chore(plugins)!: remove experimental Matter SDK plugin - #6348
chore(plugins)!: remove experimental Matter SDK plugin#6348imatrisciano wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR removes the experimental matter-sdk plugin from Snapcraft’s plugin system and cleans up all associated unit tests, spread tests, CI workflow entries, and documentation references.
Changes:
- Removed the
MatterSdkPluginimplementation and unregistered it from Snapcraft’s plugin registry and exports. - Deleted the plugin’s unit/spread tests and removed the dedicated manual spread workflow job.
- Removed the plugin’s documentation page and any references to it (including the cryptography page table entry).
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/parts/test_lifecycle.py | Drops matter-sdk from experimental plugin registration/tests. |
| tests/unit/parts/plugins/test_matter_sdk_plugin.py | Removes unit tests for the deleted plugin. |
| tests/spread/plugins/craft-parts/matter-sdk/task.yaml | Removes spread coverage for the deleted plugin. |
| tests/spread/plugins/craft-parts/matter-sdk/snapcraft.yaml | Removes the plugin-based spread test snap definition. |
| tests/spread/core24-suites/plugins/matter-sdk/task.yaml | Removes core24 suite spread coverage for the deleted plugin. |
| tests/spread/core24-suites/plugins/matter-sdk/snapcraft.yaml | Removes core24 suite snap definition for the deleted plugin. |
| tests/spread/_common/matter-sdk/task.yaml | Removes shared spread task for Matter SDK plugin scenarios. |
| tests/spread/_common/matter-sdk/snapcraft.yaml | Removes shared spread snap definition for Matter SDK plugin scenarios. |
| snapcraft/parts/plugins/register.py | Unregisters matter-sdk from Snapcraft-provided plugins. |
| snapcraft/parts/plugins/matter_sdk_plugin.py | Deletes the plugin implementation. |
| snapcraft/parts/plugins/init.py | Removes MatterSdkPlugin from public exports. |
| snapcraft/parts/lifecycle.py | Removes matter-sdk from the experimental plugin allowlist. |
| docs/reference/plugins/matter_sdk_plugin.rst | Removes the plugin reference documentation page. |
| docs/reference/plugins.rst | Removes the plugin doc entry from the plugins toctree. |
| docs/explanation/cryptography.rst | Removes the plugin row from the cryptography build-tools table. |
| .github/workflows/spread-manual.yaml | Removes the manual spread job that exercised the plugin. |
mr-cal
left a comment
There was a problem hiding this comment.
Hey @imatrisciano,
I saw the description in IENG-2169 about how it's now easier to snap the upstream SDK without patches.
Could you elaborate on this? Since we’ll have to put this removal in Snapcraft’s release notes, it’d be nice to have more context. Particularly if there’s a recommended alternative to using this plugin.
|
Hey @mr-cal, By default Matter stores its configuration files in a subdirectory of To simplify all of this, the matter-sdk plugin was created. Meanwhile, things upstream have changed, notably PR project-chip/connectedhomeip#22738 enables overriding the configuration base directory by setting the Nowadays our part is built without needing any patch (see here), all that's needed to do is to follow the compilation guide on the official documentation while setting |
There was a problem hiding this comment.
Thanks, @imatrisciano!
For posterity, I'll note that we (the starcraft team) never implemented experirmental plugin support in craft-application, meaning that the --enable-experimental-plugins flag and runtime notice were only seen for core22 and not for core24 and core26.
However, the documentation notes this was an experimental plugin and there are 0 public uses of it on github, so I'm OK to remove it in a minor release of Snapcraft.
This PR removes the matter-sdk plugin from the codebase and from the documentation.
The matter-sdk plugin was originally added in #4491 to simplify connectedhomeip Matter inclusion in a snap, a process that would have otherwise required applying patches. Since then, some fixes have been upstreamed and Matter can be easily integrated into a snap, thus this experimental plugin has lost its value.
make lint && make test.main