← Back to issue list

executor: add the step handler

View original Github issue

Metadata

Project
craft-parts
Number
#59
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

Current evaluation

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.

Resolution: closed resolved

Reason: PR #59 was approved by two reviewers and merged into main as commit 878dd163, carrying implementation commit 0c1e7feb ('executor: add the step handler') plus follow-up 72eb4ed3 adding a pkgconfig note. The module lives on as craft_parts/executor/step_handler.py, later extended by commits such as 2fbcee7d (part run action handler) and 22132bd3 (plugin validation).

Evaluated by: mr-cal-bot

No scores available.

Issue body

The step handler takes care of the execution of a step, using either a built-in set of actions to be taken, or executing a user-defined script defined in the part specification. User-defined scripts may also call the built-in handler for a step by invoking a control utility. This class implements the built-in handlers and a FIFO-based mechanism and API to be used by the external control utility to communicate with the running instance. The control API server is a direct port of the implementation used in Snapcraft, and should be refactored later. Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com> - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? -----

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved 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.
stealth/space-bunny-alpha — closed resolved Merged in craft-parts#59 via commit 0c1e7feb, adding the executor step handler, built-in actions, user-script execution, and a FIFO-based control API.
stealth/space-bunny-alpha — closed resolved Merged #59 (commit 0c1e7feb), adding executor step handling for built-in actions and user scripts, with a FIFO-based control API ported from Snapcraft.
qwen/qwen3.6-35b-a3b — — Merged after two approvals and CI. Adds a step handler to the executor for built-in actions and user scripts, featuring a FIFO-based control API ported from Snapcraft. Added 823 lines across six files.
qwen3.6-35b-a3b-mtp-q6 — — Merged the executor step handler, enabling built-in actions or user-defined script execution via a FIFO-based control API ported from Snapcraft. Approved after minor discussion on return types, with future refactoring noted.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: craft-parts#58 (confidence 78%)

    Complementary PR merged as 6473059e (commit a3ab59be 'executor: add step handler errors'), supplying the exception types the handler raises.

  • Related To: craft-parts#60 (confidence 45%)

    Later commit c14213dc 'ctl: add ctl protocol client' implements the client for the control API server introduced here.

  • Related To: craft-parts#67 (confidence 35%)

    Subsequent follow-up commits refactored the handler (2fbcee7d part run action handler, 0f7446aa migration module, 913eff42 overlay step).

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.
80%
#58 executor: add step handler errors craft-parts merged Merged PR #58 added executor step-handling error classes in commit a3ab59be; merge commit: 6473059e.
74%
#60 executor: add callbacks craft-parts merged 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.
71%