executor: add callbacks
Metadata
Current evaluation
Merged PR #60 (commit c411e2a7, merge 1ce62324) added the craft_parts/callbacks.py module enabling app-defined functions at executor lifecycle points; it shipped and was extended by later PRs like #1441.
Resolution: closed resolved
Reason: PR #60 by maintainer cmatsuoka was approved and merged into main as commit c411e2a7 (merge commit 1ce62324), adding craft_parts/callbacks.py with prologue/epilogue and pre/post-step hooks. The module persists at HEAD and was later extended (e836fdf8 integration tests, #448, #464, #1441), confirming the change landed.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #60 (commit c411e2a7, merge 1ce62324) added the craft_parts/callbacks.py module enabling app-defined functions at executor lifecycle points; it shipped and was extended by later PRs like #1441. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #60 added executor lifecycle callbacks, allowing application-defined functions to run before or after steps and execution phases. Approved by two reviewers. | |
| qwen/qwen3.6-35b-a3b | — | — | Executor callbacks merged. Approved by two reviewers and passing CI, the change adds 353 lines across five files to run application-specified functions at lifecycle points like before or after steps and execution phases. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged addition of executor callbacks enabling application-specified functions to run at lifecycle points, including before and after each step and execution phase. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-parts#79
(confidence 90%)
Follow-up merged PR adding integration tests for callbacks and renaming a method (e836fdf8).
-
Related To:
canonical/craft-parts#1441
(confidence 80%)
Later merged PR implementing mid-step callbacks, building on the framework introduced here.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #66 executor: add part handler (1/2) | craft-parts | merged | Merged in canonical/craft-parts#66 via 98f11c83, adding executor handling for part RUN actions: package fetching/unpacking, step-handler dispatch, and step-state generation. | |
| #59 executor: add the step handler | craft-parts | merged | Merged to main via commit 878dd163, adding craft_parts/executor/step_handler.py (+823/-0, 6 files): built-in step actions, user-script execution, and a FIFO-based control API server ported from Snapcraft. |