features: introduce craft-parts features
Metadata
Current evaluation
Successfully merged, introducing configurable features for craft-parts including an optional overlay feature to control action generation. Approved by reviewer, passed CI, and integrated after build retrigger.
Suggested action: —
No scores available.
Issue body
Craft-parts can now specify features that can be enabled or disabled
to change its behavior in certain scenarios. This change also includes
a minimally intrusive implementation of the overlay feature, which
inhibits the generation of overlay actions when this feature is
disabled.
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Successfully merged, introducing configurable features for craft-parts including an optional overlay feature to control action generation. Approved by reviewer, passed CI, and integrated after build retrigger. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Introduces a feature flag system for craft-parts to toggle specific behaviors. Includes an initial overlay feature implementation. Authored by Claudio Matsuoka. CI was retriggered via a close/reopen cycle before final merge. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #336 features: introduce craft-parts features | craft-parts | merged | Merged pull request introducing a configurable feature system to craft-parts, including an initial overlay feature implementation. Approved by reviewer, passed CI, and merged with 620 additions and 12 deletions across 14 files. | |
| #362 feat: add a method to enable craft-parts Features | craft-application | merged | Merged a method for Application subclasses to enable craft-parts features at the correct initialization point, ensuring proper setup order for overlays and logging. Approved, passed CI, and changed 30 lines across two files. | |
| #334 features: introduce craft-parts features | craft-parts | closed | Abandoned after 1315 days with no reviews or CI checks. The change introduced a configurable features system for craft-parts, including a minimal overlay implementation, but was closed without merging. | |
| #3636 parts: integrate craft-parts (CRAFT-765) | snapcraft | merged | Merged after reviewer approval and passing CI checks. Integrates craft-parts for part validation and lifecycle processing. Modifies 12 files, adding 369 lines and removing 20, fulfilling CRAFT-765. | |
| #4083 requirements: update craft-parts to 1.19.0 | snapcraft | merged | Merged update to craft-parts 1.19.0, enabling optional overlay steps, feature selection, and improved dirty checking. Approved by reviewer, passed CI, and merged into main. | |
| #299 feat: enable override-overlay | imagecraft | merged | Merged following approval from two reviewers and passing CI checks. Updated craft-parts to ~2.30 to enable override-overlay support and added a corresponding spread test. | |
| #602 fix: enable overlays in _enable_craft_parts_features() | rockcraft | merged | Merged a fix enabling overlays in _enable_craft_parts_features(). Approved by two reviewers with passing CI checks. A minor testing note was dismissed when the reviewer used the correct environment. The change was successfully integrated. | |
| #4183 requirements: update craft-parts to 1.21.0 | snapcraft | merged | Merged update to craft-parts 1.21.0, enabling explicit base package listing and overlay layer configuration via new callbacks. Approved by two reviewers, passed CI, rebased to main, and introduced no coverage changes. | |
| #110 feat: Support overlay | imagecraft | merged | Merged to enable the overlay feature, provide a bare base, and add spread tests. Approved by two reviewers with passing CI checks. Resolves #98 and CRAFT-4269 across 18 files. | |
| #458 build: integrate craft-parts lifecycle (CRAFT-89, CRAFT-367, CRAFT-357) | charmcraft | merged | Integrated the craft-parts lifecycle to execute the charm builder via a craft-parts charm build plugin. Merged after two approvals and passing CI checks. Author plans to refactor plugin-level transformations in a follow-up. |