feat: upload snaps with components
Metadata
Current evaluation
Merged, implementing CLI support to upload snaps with components using the --component flag. Approved by two reviewers, passed CI, and resolved issue #4687.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `tox run -m lint`?
- [x] Have you successfully run `tox run -e test-py310`? (supported versions: `py39`, `py310`, `py311`, `py312`)
-----
This PR allows uploading snaps with components to the snap store.
The UX is:
```
snapcraft upload <snap-file> --component <component-name>=<component-file> --component <component-name>=<component-file> ...
```
Fixes #4687
(CRAFT-2626)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged, implementing CLI support to upload snaps with components using the --component flag. Approved by two reviewers, passed CI, and resolved issue #4687. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged feature adding CLI support to upload snaps with components via the --component flag. Resolves issue #4687. Achieved 98.4% patch coverage and passed all lint and test checks. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged feature adding CLI support to upload snaps with components using --component flags. Resolves #4687. Passed code coverage checks at 98.4% and maintainer review after addressing apt-related test failures. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4506 feat: pack components | snapcraft | merged | Merged feature adding snap pack support for components. Components are auto-named and placed in the target directory, resolving issue 4467. Approved by two reviewers, passed CI, and modified six files with 313 additions. |