← Back to issue list

many: automatically redo step for specified part

View original Github issue

Metadata

Project
snapcraft
Number
#2152
Type
pull request
State
merged
Author
kyrofa
Labels
—
Created
Updated
Closed

Current evaluation

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.

Resolution: closed resolved

Reason: PR #2152 was merged into master as commit 9d1407a85 ("many: automatically redo step for specified part"), resolving LP #1774260 by changing the lifecycle so an explicitly named part has its step cleaned and re-run.

Evaluated by: mr-cal-bot

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] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)? - [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh unit`? ----- Currently, if a step for a given part has already run, the snapcraft CLI won't run it again without it first being cleaned. For example, if the `pull` step of part `A` had already run, running `snapcraft pull A` would say that it had already run, and skip it. This PR resolves [LP: #1774260](https://bugs.launchpad.net/snapcraft/+bug/1774260) by changing this behavior so that, if a part is specified, that step for that part is cleaned and re-run.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved 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.
stealth/space-bunny-alpha — closed resolved Merged #2152 in 9d1407a85, fixing LP #1774260: specifying a part now automatically cleans and reruns that part’s step instead of skipping completed work.
qwen/qwen3.6-35b-a3b — — Merged to master, resolving LP: #1774260. Snapcraft now automatically cleans and re-runs a specified part's step instead of skipping it. Approved by one reviewer with 94.63% diff coverage.
qwen3.6-35b-a3b-mtp-q6 — — Merged into master. Automatically cleans and re-runs a specified part's build step in Snapcraft, overriding the previous skip behavior. Resolves Launchpad bug LP: #1774260. Diff coverage reached 94.63%.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft#2145 (confidence 72%)

    Related upstream work (merged as d033c7d0f) making snapcraft automatically clean and rebuild dirty lifecycle steps.

Related issues

Issue Project State Summary Similarity
#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).
83%
#1537786 lifecycle: allow do clean rebuild of all/parts without having to pull all again snapcraft (launchpad) closed Added per-part, per-step clean commands via merged canonical/snapcraft PR #401 (88d21b180), allowing lifecycle rebuilds without recloning all sources.
75%
#794 Improve lifecycle execution of steps snapcraft merged Merged as commit f1ac5209f (snapcraft#794): lifecycle now runs steps in order using a list instead of a set, moving skip checks to runtime to speed up execution (LP #1590599).
74%
#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.
74%
#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.
72%
#727 fix(sequencer): rerun steps only if explicitly requested craft-parts merged Merged PR #727 as commit 9182585f, making steps clean and rerun only when explicitly requested by the application; fixes canonical/snapcraft#4806.
71%
#442 Automatically re-strip if dirty. snapcraft merged Merged PR #442 (commit 1a6a21831): Snapcraft now detects YAML `snap` keyword changes and automatically cleans and re-runs the strip step instead of halting, advancing LP #1477904.
70%