← Back to issue list

BUILD step of a part organizing to the overlay should invalidate overlay contents of following parts

View original Github issue

Metadata

Project
craft-parts
Number
#1291
Type
issue
State
open
Author
upils
Labels
—
Created
Updated
Closed
—

Current evaluation

A part BUILD that organizes files into the overlay can change lower overlay layers without invalidating dependent OVERLAY steps; the precise reproducer exists but the open issue remains untriaged

Suggested action: needs triage

Reason: No labels, assignee, or maintainer comments indicate triage, which makes needs_triage the default. The current layer hash derives from overlay metadata and the preceding layer rather than BUILD output, despite BUILD being reordered immediately after OVERLAY for organizing parts; the existing test setup therefore makes the defect actionable, although the final sentence saying OVERLAY is re-executed contradicts the title and requires confirmation.

Evaluated by: mr-cal-bot

Impact: 55 Quick Win: 25 Complexity: 45 Confidence: 91 Actionability: 82

Issue body

### Bug Description See discussion https://github.com/canonical/craft-parts/pull/1261/files#r2333141004 If the BUILD step of a part organizing to the overlay is run/updated, content in the layer of this part can be changed. Consequently, layers of part applied on top of this one must be invalidated and the OVERLAY step of these part re-executed. ### To Reproduce See `test_basic_lifecycle_actions` First run with: ``` parts: bar: after: [foo] plugin: nil foo: plugin: nil organize: '*': (overlay)/ ``` Then change it to: ``` parts: bar: after: [foo] plugin: nil foo: plugin: nil source: a.tar.gz organize: '*': (overlay)/ ``` The OVERLAY step of `bar` will be re-executed but it should. ### part yaml ```shell ``` ### Relevant log output ```shell N/A ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 55
Quick Win: 25
Complexity: 45
Confidence: 91
Actionability: 82
needs triage A part BUILD that organizes files into the overlay can change lower overlay layers without invalidating dependent OVERLAY steps; the precise reproducer exists but the open issue remains untriaged
qwen/qwen3.6-35b-a3b
Impact: 70
Quick Win: 22
Complexity: 60
Confidence: 80
Actionability: 80
keep open Bug where BUILD step changes for overlay-organizing parts don't invalidate dependent parts' OVERLAY steps
qwen/qwen3.8-27b
Impact: 55
Quick Win: 19
Staleness: 75
Complexity: 65
Confidence: 60
Support Request: 5
needs triage craft-parts bug: when a part organizing to the overlay re-runs its BUILD step, dependent parts' OVERLAY steps should be invalidated and re-executed, but they are skipped. Filed by a maintainer from PR #1261 discussion; unlabelled, 0 comments, inactive ~1 year.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 70
Confidence: 85
Support Request: 10
needs triage Bug report indicating that organizing files to the overlay during a part's BUILD step should invalidate and re-run OVERLAY steps for dependent parts. Currently unlabelled and inactive for over 300 days with no maintainer interaction.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 75
Confidence: 85
Support Request: 5
needs triage Missing overlay layer invalidation when a part's BUILD step changes. Unlabelled, unassigned, and inactive for 300 days with no maintainer response.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-parts#1225 (confidence 98%)

    Closed by PR #1261 / commit 55d01a3f, which introduced the OVERLAY-then-BUILD ordering that exposes this invalidation gap.

  • Related To: canonical/craft-parts#1611 (confidence 95%)

    Closed by PR #1618 / commit 18239b07, addressing later dependency-ordering behavior when parts organize to the overlay.

Related issues

Issue Project State Summary Similarity
#1225 Reorder lifecycle steps if organizing to overlay craft-parts closed Fixed overlay-part lifecycle ordering: parts organizing to overlay now run BUILD after OVERLAY via merged PR #1261 (55d01a3f).
76%
#1261 feat: reorder steps if organizing to overlay craft-parts merged Merged in commit 55d01a3f, PR #1261 runs BUILD after OVERLAY for parts organizing to overlay so organized content is available to parts installing overlay packages.
74%
#1611 Extra part triggering stage step before overlay step craft-parts closed Fixed in canonical/craft-parts#1618 (18239b07): overlay-organized parts now build and organize before dependency staging, preventing fstab content from being missed.
70%