many: automatically detect dependency changes
Metadata
Current evaluation
Merged PR #2165 as commit 13881c35f, adding automatic dirty-state detection for changed part dependencies and fixing LP #1778081.
Resolution: closed resolved
Reason: PR #2165 was merged as commit 13881c35f. It replaced error-prone lifecycle notifications with automatic detection of dependency changes, resolving LP #1778081.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh unit`?
-----
Currently the only way parts know they're dirty from dependency changes is if the lifecycle tells them so. This is a very error-prone approach, since if the lifecycle forgets to tell the part, then it doesn't know it needs to be cleaned. This PR fixes [LP: #1778081](https://bugs.launchpad.net/snapcraft/+bug/1778081) by automatically detecting changes instead of noting them in code, which also simplifies the upcoming feature of detecting source changes.
Note that this PR breaks backward state compatibility with #2152 (i.e. running on trees made dirty since then will break). This was judged to be acceptable based on the fact that it has not yet been contained in a release.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2165 as commit 13881c35f, adding automatic dirty-state detection for changed part dependencies and fixing LP #1778081. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged automatic dependency-change detection, fixing LP #1778081 by marking affected parts dirty without lifecycle notifications (commit 13881c35f). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2165 (commit 13881c35f) to automatically mark parts dirty when dependencies change, replacing lifecycle notifications and fixing LP: #1778081. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in snapcraft/snapcraft#2165 as commit 13881c35f, adding automatic dependency-change detection to fix LP: #1778081 without relying on lifecycle dirty-state notifications. | |
| qwen/qwen3.6-35b-a3b | — | — | Automatically detects dependency changes, fixing dirty state tracking (LP: #1778081). Breaks backward compatibility with #2152 but acceptable pre-release. Merged by maintainer despite CI rust failures and 31 unresolved comments. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into master, implementing automatic dependency change detection to resolve LP #1778081. The update breaks backward state compatibility with PR #2152 but was accepted as unreleased. Passed coverage checks and merged despite unrelated Rust CI failures. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcore/snapcraft#2167
(confidence 98%)
Merged follow-up PR implementing automatic detection of local source changes.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2161 many: automatically detect dependency changes | snapcraft | closed | Closed unmerged after the author said it needed tweaks; re-proposed and merged as #2165 (commit 13881c35f), which auto-detects part dependency changes instead of lifecycle notifications, fixing LP #1778081. |