fix: add all parts as a dep of extension part
Metadata
Current evaluation
Merged in #5395 (48c8af2ae), adding dependencies on all parts so extension parts rebuild after changes; #5451 later reverted the change.
Resolution: closed resolved
Reason: PR #5395 was approved and merged, adding all parts as dependencies of the extension part to prevent stale cached extension-part builds. PR #5451 (e12e765b7) later reverted it because those dependencies broke cleanup and other parts that must run after extensions.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Previously with cached builds, there'd always be cases, where files from the extension's part would not be found as the files are removed from prime, but the extension's part's state shows it as built. Adding all the parts as a dependency of the extension ensures that the extension's part is always rebuilt whenever on part is changed.
- [x] Have you followed the [guidelines for contributing](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint`?
- [x] Have you successfully run `make test`?
---
A better solution would be to have a property in the parent `Extension` class that holds the keys of all the parts. But, let's see what everyone opines.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in #5395 (48c8af2ae), adding dependencies on all parts so extension parts rebuild after changes; #5451 later reverted the change. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #5395 (48c8af2ae) to force extension-part rebuilds, then reverted it via merged #5451 (e12e765b7) because the added dependencies broke cleanup parts. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a fix for cached build failures where extension part files were missing. Added all parts as dependencies of the extension part to force rebuilds on any change, resolving stale prime state. Approved by two reviewers and passed CI checks. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a fix adding all parts as a dependency of the extension part. This resolves cached build failures where extension files were missing due to stale build states, ensuring the extension rebuilds whenever any part changes. |
Update history
No update history recorded yet.
Related work
-
Superseded By:
canonical/snapcraft#5451
(confidence 100%)
Merged commit e12e765b7 reverted #5395 because the dependency behavior broke cleanup and post-extension parts.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5451 chore(revert): "fix: add all parts as a dep of extension part (#5395)" | snapcraft | merged | Merged #5451 (e12e765b7), reverting #5395 because its extension-part dependency logic broke parts that must run after the extension. |