← Back to issue list

many: automatically detect dependency changes

View original Github issue

Metadata

Project
snapcraft
Number
#2165
Type
pull request
State
merged
Author
kyrofa
Labels
—
Created
Updated
Closed

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.
85%