← Back to issue list

many: add overlay step (CRAFT-84)

View original Github issue

Metadata

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

Current evaluation

Merged. Adds an overlay step to process filesystem mutations like package installation and file modifications across parts. Updates multiple subsystems and tests, approved by a reviewer, passed CI, and maintains fast execution.

Suggested action:

No scores available.

Issue body

The overlay step is used to process filesystem mutations defined for each part. It can include package installation, modification of existing file data or metadata, file renaming or removal, etc. **Note to reviewers:** this change is rather large because many subsystems need to be updated to handle the new step, and tests need to be updated to account for the actions corresponding to step changes. Additional integration tests will be added after the outdated overlay verification tests land, covering the usage scenarios described in the feature specification. Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Adds an overlay step to process filesystem mutations like package installation and file modifications across parts. Updates multiple subsystems and tests, approved by a reviewer, passed CI, and maintains fast execution.
qwen3.6-35b-a3b-mtp-q6 Merged the overlay step to process filesystem mutations like package installation, file modifications, and removals. The change updated multiple subsystems and tests, with execution performance confirmed as fast.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#135 executor: add overlay step handling (CRAFT-86) craft-parts merged Merged. Adds overlay step handling to the executor, mounting the overlay stack during builds so parts with overlay visibility can access the filesystem for package installation and user scripts. Approved and passed CI.
79%
#406 steps: handle overlay feature in step lists craft-parts merged Merged after reviewer approval and passing CI. The change updates step list logic to exclude the overlay step when the feature is disabled, modifying 10 files with 184 additions and 13 deletions.
76%
#127 overlay: add overlay manager mount operations (CRAFT-80) craft-parts merged Merged implementation of mount operations for the overlay manager, enabling overlay stack mounting during build steps. Approved by two reviewers, passed CI, and added 265 lines across three files. Package installation is deferred to a future commit.
74%
#111 overlay: add overlayfs helpers (CRAFT-462) craft-parts merged Merged. Added overlayfs mount and unmount helpers, plus utilities to identify special files and directories for filesystem layering. Approved by two reviewers, passed CI, and introduced 420 lines across six files.
73%
#1190 fix(overlay): detect conflicts between overlay and install craft-parts merged Merged fix enhancing Stage step collision detection to account for overlay contents, preventing conflicts with install directories. Includes integration tests, passed all CI checks, and received approval from three reviewers.
72%
#147 executor: update overlay package list (CRAFT-581) craft-parts merged Merged update to the overlay package list prior to lifecycle execution when overlays are enabled. Approved by reviewer, passed CI checks, and modified 4 files (+10/-1).
72%
#138 many: handle layer reapplication (CRAFT-83, CRAFT-85) craft-parts merged Merged changes handling layer reapplication to maintain overlayfs stack consistency during re-executed overlay steps. Approved by one reviewer, passed CI checks, and integrated by maintainer cmatsuoka across 20 files.
72%
#119 overlay: add overlay hash to build and stage states (CRAFT-489) craft-parts merged Merged pull request implementing overlay verification hashes in build and stage states to ensure proper step invalidation. Approved by two reviewers, passed CI checks, and successfully integrated.
71%
#113 overlay: add overlay support to parts (CRAFT-470) craft-parts merged Merged after three approvals. Adds overlay support to parts by defining the work directory and properties for overlay subdirectories and visibility. 149 additions, 37 deletions across six files. Removed Final typing hint for Python 3.7.
71%