← Back to issue list

feat: cut build-slices in the prologue

View original Github issue

Metadata

Project
craft-parts
Number
#1718
Type
pull request
State
closed
Author
tigarmo
Labels
—
Created
Updated
Closed

Current evaluation

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.

Resolution: closed resolved

Reason: PR #1718 was approved by 2 reviewers and merged as commit 2adcb0c1, which is present in craft-parts history. The pre-merge test failure Copilot identified (test_packages.py::test_cut_build_slices reaching chisel.cut_slices directly) and the two unresolved review comments were addressed by tigarmo, who added light executor-side state tracking (work/build_slices_state.yaml) plus unit and integration tests; the final executor code contains _cut_build_slices, the empty-slice cleanup path, and the rerun-skip logic.

Evaluated by: mr-cal-bot

No scores available.

Issue body

Cut requested 'build-slices' after installing build packages and snaps. The build-slices from all parts are collected and de-duplicated into a single "chisel cut" call. One caveat here is that since the executor is "stateless" there is no way to "preserve" cut slices between lifecycle runs, because we don't know which slices were cut previously and whether the list of requested slices was changed. So the safe approach is to always-recut, which is inefficient but gives the correct set of cut slices. - [ ] Have you followed the guidelines for contributing? - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `make lint && make test`? - [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)? ---

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved 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.
stealth/space-bunny-alpha — closed resolved Merged PR #1718 as commit 2adcb0c1, adding deduplicated build-slices cutting during the prologue with executor state tracking and integration coverage.
qwen/qwen3.6-35b-a3b — — Merged after adding lightweight state tracking to preserve build-slices between executor runs, replacing the initial always-recut approach. Integration tests were added and CI failures were addressed.
qwen/qwen3.6-35b-a3b
Impact: 70
Quick Win: 28
Staleness: 5
Complexity: 60
Confidence: 75
needs review Implements build-slice cutting in the executor prologue with state tracking to avoid unnecessary recuts. Has 2 approvals, 2 unresolved review comments, and failing CI tests on build-slice related paths.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 25
Staleness: 10
Complexity: 55
Confidence: 75
needs review Feature PR implementing build-slice cutting in the prologue with state tracking to avoid unnecessary recuts. Has 2 approvals, 2 unresolved review comments, and mostly passing CI with some slow test failures.
qwen/qwen3.6-35b-a3b
Impact: 50
Quick Win: 20
Staleness: 10
Complexity: 60
Confidence: 75
needs review Adds build-slice cutting in the executor prologue with state tracking to avoid unnecessary recuts. Approved by 2 reviewers but has 2 unresolved comments and a related CI failure on test_cut_build_slices.
qwen/qwen3.6-35b-a3b
Impact: 50
Quick Win: 22
Staleness: 10
Complexity: 55
Confidence: 75
needs review Adds build-slice cutting in the executor prologue with state tracking to avoid always-recutting. Under active review with changes requested; author responded to feedback and added integration test. One CI test failing.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 19
Staleness: 10
Complexity: 65
Confidence: 80
needs review Feature PR implementing build-slices cutting in the executor prologue with state tracking optimization. Under active review with 2 unresolved comments from reviewers.
qwen/qwen3.6-35b-a3b
Impact: 60
Quick Win: 24
Staleness: 10
Complexity: 60
Confidence: 75
needs review Implements cutting build-slices in the executor prologue with state tracking to avoid unnecessary recuts. Under review with 2 unresolved comments; one CI test failing on the new integration test.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 19
Staleness: 10
Complexity: 65
Confidence: 75
needs review Implements cutting build-slices in the prologue with state tracking to avoid unnecessary recuts. Under review with 2 unresolved comments addressed by author.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 25
Staleness: 25
Complexity: 55
Confidence: 75
needs review Adds build-slice cutting in the prologue phase, collecting and deduplicating slices across parts. Review requested with 2 unresolved comments about optimizing stateless executor behavior.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 30
Staleness: 5
Complexity: 45
Confidence: 80
needs review Implements cutting build-slices in the prologue after installing build packages. Under review with 2 unresolved comments; CI passing. Reviewer suggested optimization to avoid always-recutting slices.
qwen/qwen3.6-35b-a3b
Impact: 60
Quick Win: 30
Staleness: 10
Complexity: 50
Confidence: 70
needs review Implements cutting build-slices in the prologue phase, collecting and de-duplicating slices from all parts into a single chisel cut call. Under review with 2 unresolved comments and some CI failures on slow tests.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 19
Staleness: 5
Complexity: 65
Confidence: 75
needs review PR adds build-slice cutting in the prologue phase, collecting and deduplicating slices across parts. Under active review with 2 unresolved comments from @cmatsuoka suggesting state optimization. CI has 4 failing tests.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 30
Staleness: 5
Complexity: 45
Confidence: 75
needs review Adds build-slice cutting in the prologue phase after installing build packages. Approved by 1 reviewer with 2 unresolved comments; 4 CI checks failing on minimum dependencies.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 30
Staleness: 5
Complexity: 45
Confidence: 70
needs review Adds build-slice cutting in the lifecycle prologue phase, collecting and deduplicating slices across parts into a single chisel cut call. Currently has 2 unresolved review comments and 4 failing CI checks.
qwen/qwen3.6-35b-a3b
Impact: 70
Quick Win: 24
Staleness: 5
Complexity: 65
Confidence: 75
needs review Adds build-slices cutting to executor prologue after install steps. Fresh PR with 4 failing CI tests and 2 unresolved review comments.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 30
Staleness: 5
Complexity: 45
Confidence: 70
needs review Adds build-slice cutting in the prologue lifecycle phase, collecting and deduplicating slices from all parts into a single chisel cut call. New PR with some failing minimum-dependency CI tests.
qwen/qwen3.6-35b-a3b
Impact: 50
Quick Win: 25
Staleness: 0
Complexity: 50
Confidence: 60
needs review Feature to cut build-slices in the prologue after installing build packages and snaps. New PR with 0 reviews, 0 comments, and 2 failing minimum-dependency CI jobs.
qwen/qwen3.6-35b-a3b
Impact: 55
Quick Win: 19
Staleness: 5
Complexity: 65
Confidence: 75
needs review Adds build-slices cutting in the lifecycle prologue, collecting and deduplicating slices across parts into a single chisel cut call. Fresh PR with passing CI, no reviews yet.
qwen/qwen3.6-35b-a3b
Impact: 50
Quick Win: 32
Staleness: 0
Complexity: 35
Confidence: 75
needs review New feature adding build-slice cutting in the lifecycle prologue. Fresh PR with passing CI, no reviews yet, authored by maintainer tigarmo.

Update history

Date Change
closed
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
updated
created

Related work

  • Blocked By: canonical/craft-parts#1717 (confidence 92%)

    Commit 758e822a 'feat(part): add build-slices model (#1717)' added the part-level build_slices spec that this prologue logic consumes.

  • Related To: canonical/craft-parts#1737 (confidence 80%)

    Follow-up commit 46fb937b 'fix: install chisel for build-slices' — the slicing here assumes the chisel binary is installed, which this later PR addressed.

  • Related To: canonical/craft-parts#1724 (confidence 70%)

    Follow-up commit 07a32ae8 'feat: run build in build-slices root' extends the same cut-slices machinery created by this PR.

Related issues

Issue Project State Summary Similarity
#1724 feat: run 'build' in build-slices root craft-parts closed Merged PR #1724 as commit 07a32ae8, enabling build to run in the build-slices root after slice model and prologue work in #1717 and #1718.
75%
#1758 feat: track build-slices in part state craft-parts merged Merged PR #1758 adds build-slices to BuildState properties_of_interest so the build step invalidates when build-slices changes; updates tests.
73%
#281 unpack chisel slices craft-parts merged Merged PR #281 as commit 17c119ea, adding Chisel slice unpacking by passing slices from pull to build via PullState, with CI integration coverage.
72%
#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.
70%