unpack chisel slices
Metadata
Current evaluation
Merged PR #281 as commit 17c119ea, adding Chisel slice unpacking by passing slices from pull to build via PullState, with CI integration coverage.
Resolution: closed resolved
Reason: The approved PR was merged into the main project as commit 17c119ea, implementing slice propagation and cutting while adding the required Chisel CI setup.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This is done by using the `PullState` to "transmit" the list of slices from the pull step (that currently doesn't do anything for slices) to the build step (that does the actual cutting).
The integration test needs the "chisel" binary, so it's set to run on CI only. This required updating the workflow to use a newer version of "go" to build chisel. I then needed to revert back to the default Ubuntu 20.04 version because other tests need an older version (might be worth looking into).
In addition to the tests I also built a local `rockcraft` snap using this code, and used it to build an image containing "sliced" files.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #281 as commit 17c119ea, adding Chisel slice unpacking by passing slices from pull to build via PullState, with CI integration coverage. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #281 implemented Chisel slice unpacking by passing slices through PullState from pull to build, with integration tests and CI Go updates. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged implementation to unpack chisel slices via PullState routing from pull to build step. Updated CI Go version, added integration tests, and verified locally. Approved by two reviewers, +365/-66 lines across 8 files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged implementation to unpack chisel slices by routing slice data from the pull step to the build step via PullState. Updated CI workflow to adjust Go and Ubuntu versions for integration tests. Verified locally with rockcraft. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-parts#279
(confidence 96%)
Merged PR #279 introduced the stage-slices specification used by this unpacking implementation.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1715 refactor: put chisel call in its own module | craft-parts | merged | Merged PR #1715 in commit 0d154d79, extracting Chisel slice-cutting logic into its own module to separate cutting from Repository path normalization before build-slices support. | |
| #1119 chore: rebuild to bump chisel | rockcraft | merged | Merged #1119 via commit 9f52bf52, bumping Chisel to v1.4.0+ for 26.04 v3 repositories and adding slice coverage and a changelog entry. | |
| #904 feat: add chisel as a build snap when stage-packages contain slices | craft-parts | merged | Merged #904 via commit 941164e1, adding chisel@latest/stable only when stage-packages contain slices and no part already declares chisel. | |
| #1326 Investigate support for fetching chisel slices | craft-parts | open | Feature request to support fetching Chisel slices as packages. Slices are now cut at unpack-time via a separate stage-slices key, so the original fetch-time TODO appears superseded; lengau noted upstream Chisel would need to split download/unpack. | |
| #592 fix(deb): normalize chisel slices | craft-parts | merged | Merged PR #592 as commit 26d4f9ed, normalizing unpacked Chisel slices to rewrite absolute symlinks and prevent them escaping the lifecycle environment; fixes #578. | |
| #1718 feat: cut build-slices in the prologue | craft-parts | closed | Merged as commit 2adcb0c1. Executor prologue now collects build-slices from all parts, de-duplicates them into a single chisel cut, with a state file to skip unchanged re-cuts; unit and integration tests added. | |
| #530 spread: don't cut dotnet slices unnecessarily | rockcraft | merged | Merged #530 as commit 31a61529, replacing fragile dotnet slices with the more stable coreutils_bins slice while preserving Chisel slice coverage. | |
| #84 Add chisel to rockcraft | rockcraft | merged | Merged PR #84 as commit ddf018ce, adding Chisel to Rockcraft’s snap and enabling Chisel slices in stage-packages. | |
| #127 fix: pin the commit of the bundled chisel | rockcraft | merged | Merged PR #127, adding a one-line pin for the bundled Chisel commit; landed as commit 26854aca. | |
| #271 Split chisel explanation | rockcraft | merged | Merged in PR #271 as commit 073078a0, splitting the Chisel explanation and clarifying its overview and diagram. |