parts: add craftctl support
Metadata
Current evaluation
Merged #3677 added craftctl support, project-variable assignment, and adopt-info configuration in commit 293ac060b.
Resolution: closed resolved
Reason: PR #3677 was approved and merged into the 7.0 branch as commit 293ac060b, adding the craftctl wrapper and related project configuration support.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Add craftctl wrapper to execute the craft-parts utility from the
snapcraft snap, and define project variables that can be set
using craftctl. Add `adopt-info` to project configuration.
- [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/)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
CRAFT-964
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #3677 added craftctl support, project-variable assignment, and adopt-info configuration in commit 293ac060b. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #3677 (293ac060b), adding craftctl support, project variables, and adopt-info configuration. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged snapcore/snapcraft#3677 as 293ac060b, adding a craftctl wrapper, project variables settable through it, and adopt-info configuration support. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged following approval and passing CI. Implements a craftctl wrapper for craft-parts, defines project variables, and adds adopt-info to project configuration. Diff coverage is 84%. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into snapcraft/7.0, implementing a craftctl wrapper for craft-parts, defining project variables, and adding adopt-info configuration. Codecov approved the merge despite a minor coverage decrease. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #19 parts: add craftctl support | rockcraft | merged | Merged in canonical/rockcraft#19 (cc8d0c95), upgrading craft-parts to 1.4.1 and enabling craftctl support in step overrides. | |
| #188 docs: document craftctl and step environment | craft-parts | merged | Merged PR #188 via 0e9a958d, adding documentation for valid craftctl commands and declaring and retrieving project variables in commit 34cc0049. | |
| #190 craftctl: set variables from parts adopting metadata | craft-parts | merged | Merged #190 in commit d463feef, restricting craftctl project-variable assignment to the adopting part; applications without project variables no longer need to specify one. | |
| #1220 feat: support nested project variables | craft-parts | merged | Merged in canonical/craft-parts#1220 via commit fc4a3315, adding ProjectVarInfo-based nested project variables and dot-notation craftctl set commands. | |
| #4601 feat: use craft-application project variables | snapcraft | merged | Merged as b6832072, defining version and grade as craft-application project variables that craftctl can update. | |
| #185 craftctl: update to comply with specification | craft-parts | merged | Merged in commit ac87cd89 via merge 8139ef30; craftctl’s default, set, and get commands were updated to match the specification, including validation and consumption safeguards. | |
| #728 parts: update craft-parts and enable craftctl | charmcraft | merged | Merged charmcraft#728 in commit 5bf8f083, upgrading craft-parts to 1.4.0 and enabling craftctl for overridden part scriptlets. | |
| #5753 feat: adopt component variables | snapcraft | merged | Merged PR #5753 (SNAPCRAFT-65, SNAPCRAFT-1056) added component variables so craftctl can set component versions for core22 and core24 snaps, closing #5240. Commits: 6b6f7d9ee, 766562286. |