lifecycle: allow do clean rebuild of all/parts without having to pull all again
Metadata
Current evaluation
Added per-part, per-step clean commands via merged canonical/snapcraft PR #401 (88d21b180), allowing lifecycle rebuilds without recloning all sources.
Resolution: closed resolved
Reason: PR #401 was merged as commit 88d21b180, resolving Launchpad bug #1537786 with per-part, per-step cleaning. Supporting PR #400 also added clean_pull() support for targeted source cleanup.
Evaluated by: mr-cal-bot
No scores available.
Issue body
as summary says, would be booster to efficiency if i could clean rebuild a tree, but without doing a full clone as that can take quite a bit like if you build kernel git trees...
Two variants would be nice:
1. clean-rebuild: just clean the stage/build/installdirs to rebuild...
2. update-and-rebuild: pull latest for SCM managed sources without a full clone and then do clean rebuild
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Added per-part, per-step clean commands via merged canonical/snapcraft PR #401 (88d21b180), allowing lifecycle rebuilds without recloning all sources. | |
| stealth/space-bunny-alpha | — | closed resolved | Per-part, per-step cleaning was implemented, including pull/build/stage/strip support, enabling clean rebuilds and SCM refresh without a full clone in PR #401 (88d21b180). | |
| stealth/space-bunny-alpha | — | closed stale | Closed without implementation after years of inactivity; neither clean-rebuild nor SCM update-and-rebuild received a resolution. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The feature request for clean rebuild and update-and-rebuild options to avoid full clones received no comments or development activity, resulting in the request being abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | Feature request for clean rebuild and update-and-rebuild workflows to avoid full clones was closed without implementation. No comments or resolution details were provided, indicating the request was abandoned or superseded. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned. The feature request for efficient clean rebuilds and partial SCM updates was closed without implementation or discussion due to prolonged inactivity and zero comments. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without implementation. The requested clean-rebuild and update-and-rebuild lifecycle features were abandoned. No code changes, merges, or alternative resolutions were provided. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/snapcraft#401
(confidence 100%)
Final per-step cleaning PR, merged as commit 88d21b180 and identified as resolving this bug.
-
Likely Fixed By:
canonical/snapcraft#400
(confidence 98%)
Merged pull-step cleaning support in commit 173d0955a.
-
Related To:
canonical/snapcraft#396
(confidence 95%)
Added per-part stage cleaning as part of the per-step clean series.
-
Related To:
canonical/snapcraft#394
(confidence 95%)
Added per-part strip-step cleaning.
-
Related To:
canonical/snapcraft#398
(confidence 90%)
Linked by the maintainer as the build-step cleaning change in the same series.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2145 lifecycle: automatically clean dirty steps | snapcraft | merged | Merged in canonical/snapcraft#2145 (commit d033c7d0f), adding opt-in outdated_step_action=clean to rebuild changed lifecycle steps and resolve LP #1774021. | |
| #1774260 Automatically clean and redo step if part is specified | snapcraft (launchpad) | closed | Explicitly named parts now clean and rerun the requested lifecycle step instead of being skipped; fixed by merged PR canonical/snapcraft#2152 (9d1407a85). | |
| #1537790 lifecycle: rebuild with snapcraft clean part1; snapcraft build part1 breaks if part1 has an 'after' field | snapcraft (launchpad) | closed | Fixed by merged ubuntu-core/snapcraft PR #431 (commit 1e31959d1), which recognizes already-built prerequisite parts when building a selected part. | |
| #2152 many: automatically redo step for specified part | snapcraft | merged | Merged as commit 9d1407a85 in snapcore/snapcraft. Specifying a part on the command line now cleans and re-runs that part's lifecycle step instead of skipping already-completed steps, fixing LP bug #1774260. | |
| #4806 Build "part" action forces clean build | snapcraft | closed | Fixed by merged craft-parts PR #727, which limits step reruns and cleaning to explicit requests, restoring incremental `snapcraft build <part>` behavior. | |
| #1647907 When a step is dirty, snapcraft doesn't autoclean and reexecute it | snapcraft (launchpad) | closed | Automatic cleanup and rebuilding of outdated lifecycle steps was implemented in canonical/snapcraft#2145 and merged as d033c7d0f. | |
| #1007 lifecycle: clean without parsing if possible. | snapcraft | merged | Merged in snapcraft#1007 via commit bacf75dfe, allowing full clean operations to bypass snapcraft.yaml parsing unless part-specific cleanup is required. | |
| #2442 cli: enable cleaning of parts | snapcraft | merged | Merged #2442 (5546c3aab), restoring snapcraft clean <part-name> with build providers so selected parts can be cleaned without recreating the provider. |