many: add overlay step (CRAFT-84)
Metadata
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. | |
| #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. | |
| #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. | |
| #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. | |
| #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. | |
| #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). | |
| #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. | |
| #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. | |
| #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. |