Improve lifecycle execution of steps
Metadata
Current evaluation
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).
Resolution: closed resolved
Reason: PR #794 was merged into snapcraft as commit f1ac5209f, titled 'Improve lifecycle execution of steps (#794)'. It changed part execution to use a list (preserving sort order) and defer skip checks to runtime, addressing LP #1590599. Reviewer kyrofa approved and it was merged after retesting.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Execute the steps in order and skip early by keeping checks
in runtime. The parts to run are a list instead of a set to not lose
the sort order
LP: #1590599
Signed-off-by: Sergio Schvezov sergio.schvezov@ubuntu.com
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | 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). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #794 (commit f1ac5209f) reordered the lifecycle executor to run steps in order using a list instead of a set, with skip checks moved to runtime to speed up execution for LP #1590599. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #794 as commit f1ac5209f, preserving lifecycle step order with a list and moving skip checks to runtime to improve LP #1590599 performance. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged improvements to lifecycle step execution enforce ordered processing, add early skip checks, and convert a set to a list to preserve sort order. The update improves runtime performance and modifies two files with 57 additions and 27 deletions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Replaces a set with a list to preserve step order, enabling early skipping via runtime checks. Approved by @kyrofa and passed CI retests, improving lifecycle execution performance. |
Update history
No update history recorded yet.
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. | |
| #1513 lifecycle: outdated step should raise SnapcraftError | snapcraft | merged | Merged PR #1513 in commit 141d7fdd7, updating lifecycle handling so outdated steps raise SnapcraftError derivatives. | |
| #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. | |
| #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. | |
| #1774021 Support automatically cleaning dirty steps | snapcraft (launchpad) | closed | Fixed by automatically cleaning dirty lifecycle steps in snapcraft PR #2145, merged as commit d033c7d0f. | |
| #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). |