← Back to issue list

fix: refresh build snaps if already installed

View original Github issue

Metadata

Project
craft-parts
Number
#1692
Type
pull request
State
open
Author
cmatsuoka
Labels
Created
Updated
Closed

Current evaluation

Refreshes build snaps when already installed to reflect channel changes, fixing #496. Has 2 approvals, 1 unresolved review comment, and mostly passing CI.

Suggested action: needs review

Reason: PR has 2 approvals and addresses issue #496 where build-snaps channel changes are ignored without a clean. One unresolved review comment requires maintainer attention before merge. CI passes except for flaky test failures.

Impact: 55 Quick Win: 33.0 Staleness: 15 Complexity: 40 Confidence: 75

Issue body

If a build snap is already installed, refresh it to the current channel to reflect changes in the project. Also add it to the build state so the part will be rebuilt in case of channel changes. Fixes #496 - [ ] 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
qwen3.6-35b-a3b-mtp-q6
Impact: 55
Quick Win: 33.0
Staleness: 15
Complexity: 40
Confidence: 75
needs review Refreshes build snaps when already installed to reflect channel changes, fixing #496. Has 2 approvals, 1 unresolved review comment, and mostly passing CI.
qwen/qwen3.8-27b
Impact: 50
Quick Win: 20.0
Staleness: 5
Complexity: 60
Confidence: 75
needs review Fixes build-snaps channel changes not taking effect without a clean by refreshing already-installed build snaps to the current channel and tracking them in build state. Approved by 2 reviewers; 1 unresolved comment, CI pending. Fixes #496.
qwen/qwen3.8-27b
Impact: 55
Quick Win: 30.25
Staleness: 5
Complexity: 45
Confidence: 80
needs review Fixes craft-parts #496: refresh already-installed build snaps to the configured channel and record them in build state so channel changes trigger rebuilds without clean. 2 approvals, all CI green, 1 unresolved review comment.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 20
Confidence: 90
needs review Fixes #496 by refreshing installed build snaps to the current channel and tracking them in build state. Currently approved by two reviewers with CI tests pending.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 45
Confidence: 85
needs review Fixes #496 by refreshing installed build snaps to the current channel and updating build state. Approved by two reviewers with one unresolved comment. CI mostly passes except for isolated Java plugin test failures.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 35
Confidence: 95
needs review Fixes #496 by refreshing installed build snaps to the current channel and adding them to build state. Approved by 2 reviewers, CI passing, ready to merge.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 45
Confidence: 90
needs review Fixes #496 by refreshing installed build snaps to the current channel and tracking them in build state. Approved by two reviewers with zero unresolved comments, but CI is still pending and one lint check is failing.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 45
Confidence: 90
needs review Updates build snap handling to refresh already installed snaps to the current channel and tracks them in build state. Approved by two reviewers with all CI checks passing, ready for maintainer merge.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 40
Confidence: 90
needs review Fixes #496 by refreshing build snaps when already installed to reflect project changes and adding them to build state. Approved by two reviewers, CI passing, ready to merge.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 45
Confidence: 95
needs review Fixes #496 by refreshing installed build snaps to the current channel and adding them to build state for rebuilds. Approved by two reviewers, CI passing, ready to merge.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 40
Confidence: 90
needs review Fixes #496 by refreshing installed build snaps to the current channel and updating build state. Awaiting pending CI tests; approved by two reviewers.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 45
Confidence: 95
needs review Fixes #496 by refreshing installed build snaps to the current channel and updating build state. Approved by two reviewers, CI passes except for known flaky tests, ready for merge.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 20
Confidence: 90
needs review Fixes #496 by refreshing installed build snaps to the current channel and updating build state. Approved by two reviewers, CI passing except for known flaky tests, ready for merge.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 25
Confidence: 95
needs review Fixes #496 by refreshing installed build snaps to the current channel and updating build state. Approved by 2 reviewers with 0 unresolved comments. CI shows flaky test failures but is otherwise passing.
qwen/qwen3.6-35b-a3b
Staleness: 0
Complexity: 15
Confidence: 90
needs review Fixes #496 by refreshing installed build snaps to the current channel and updating build state. Approved by 2 reviewers, CI mostly passing with known flaky test failures.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 20
Confidence: 90
needs review Fixes #496 by refreshing installed build snaps to the current channel and tracking them in build state. Approved by one reviewer, CI passing, ready for merge.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 25
Confidence: 90
needs review Fixes #496 by refreshing installed build snaps to the current channel and updating build state. Approved by one reviewer, CI mostly passing with expected flaky failures, awaiting final merge.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 25
Confidence: 90
needs review Fixes #496 by refreshing installed build snaps to the current channel and tracking them in build state. Currently approved by one reviewer with one unresolved comment and pending slow-test CI jobs.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 25
Confidence: 90
needs review Fixes #496 by refreshing installed build snaps to the current channel and updating build state. Currently awaiting maintainer review with some flaky and slow tests failing or pending.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 25
Confidence: 90
needs review Fixes build snap refresh behavior when already installed and updates build state for channel changes. Addresses issue #496. Currently awaiting maintainer review with CI checks pending.

Update history

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

Related work

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

    PR directly fixes this issue about build-snaps channel changes not working without clean

Related issues

Issue Project State Summary Similarity
#3617 snap: do not refresh already installed snaps snapcraft merged Merged changes to prevent refreshing already installed snaps by removing two lines of code. Approved by one reviewer and integrated into the main branch.
74%
#1815 repo: handle invalid snaps snapcraft merged Merged changes handling invalid snaps in build-snaps with a clear error message. Adds retries to information fetching for improved network failure debugging. Approved after resolving a minor CI typo.
73%
#3502 snaps: do not validate snaps before install/refresh (Fixes LP#1901733) snapcraft merged Merged into master. Removes redundant snap validation before install and refresh, as the store API already handles branch checks. Approved by two reviewers, passed CI, and resolves Launchpad bug #1901733.
73%
#145 inspectors/snap: fix snap refresh inspector fetch-service merged Merged following two approvals and passing CI. The snap refresh inspector was fixed by enforcing stricter artifact format verification, correctly assigning the inspector name, and registering the component across nine files.
72%
#3146 build providers: snap sw to channels if injecting snapcraft merged Merged fix that prevents automatic channel switching to latest/stable when injecting snaps with revision assertions during build provider setup. Approved by reviewer, passed CI, and integrated.
72%
#3102 build providers: prevent snap refreshing in build environment snapcraft merged Merged to prevent snap refreshing in the build environment by holding refresh for one day. Adjusted per reviewer feedback to avoid incomplete manifests and address versioning string comparisons. Approved and merged.
72%
#3184 build providers: check revision before switching snapcraft merged Merged a fix adding a revision check before channel switching in build providers. Resolves incorrect switching behavior caused by snapd changes. Approved by reviewer, passed CI, and merged.
71%
#161 snap: do not refresh already installed snaps craft-parts merged Merged a port of snapcraft#3617 to craft-parts. The change prevents refreshing already installed snaps by removing two lines of code. Approved by one reviewer and passed CI checks.
71%