← Back to issue list

Improve lifecycle execution of steps

View original Github issue

Metadata

Project
snapcraft
Number
#794
Type
pull request
State
merged
Author
sergiusens
Labels
—
Created
Updated
Closed

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.
78%
#1513 lifecycle: outdated step should raise SnapcraftError snapcraft merged Merged PR #1513 in commit 141d7fdd7, updating lifecycle handling so outdated steps raise SnapcraftError derivatives.
75%
#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.
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.
73%
#1774021 Support automatically cleaning dirty steps snapcraft (launchpad) closed Fixed by automatically cleaning dirty lifecycle steps in snapcraft PR #2145, merged as commit d033c7d0f.
72%
#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).
72%