test(spread): wait for pending snap auto-refresh before refreshing lxd
Metadata
Current evaluation
Superseded by merged PR canonical/craft-application#1170 (fea3e835), which added a broader snap auto-refresh hold and wait; #1190's narrower fix was closed unmerged.
Resolution: closed superseded
Reason: PR #1170 was merged as commit fea3e835, adding a 24-hour refresh hold and waiting for active auto-refreshes. That broader change addressed the race targeted by unmerged PR #1190.
Evaluated by: mr-cal-bot
No scores available.
Issue body
## Problem
The spread `prepare` script can fail with:
```
error: snap "lxd" has "auto-refresh" change in progress
```
when snapd's background auto-refresh is still running when we try to refresh/install lxd. See: https://github.com/canonical/craft-application/actions/runs/35730939205/job/106758406413?pr=1181
## Fix
Wait for the last auto-refresh change to complete (via `snap watch --last=auto-refresh`) before refreshing/installing lxd.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed superseded | Superseded by merged PR canonical/craft-application#1170 (fea3e835), which added a broader snap auto-refresh hold and wait; #1190's narrower fix was closed unmerged. | |
| stealth/space-bunny-alpha | — | closed superseded | Closed unmerged; #1170 was merged as fea3e835, adding a 24-hour refresh hold and wait for active auto-refreshes, but #1190 pursued a narrower fix. | |
| qwen/qwen3.6-35b-a3b |
Impact:
30
Quick Win:
14
Complexity:
10
Confidence:
70
Actionability:
50
|
close superseded | Adds wait for snapd auto-refresh before LXD refresh in spread prepare. Brand new PR, 0 reviewers, CI mostly passing. |
Update history
| Date | Change |
|---|---|
| closed | |
| created |
Related work
-
Superseded By:
canonical/craft-application#1170
(confidence 99%)
Merged as fea3e835 with a broader implementation of the same spread prepare fix.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1133 test(spread): make LXD refresh in prepare more reliable | craft-application | closed | Closed unmerged; its LXD auto-refresh race fix was superseded by merged PR #1170 (commit fea3e835), which waits for active snap refreshes during spread prepare. | |
| #1170 test(spread): wait out in-progress auto-refresh in prepare | craft-application | closed | Merged PR #1170 as fea3e835, adding a 24-hour snap refresh hold and waiting for active auto-refreshes to prevent spread prepare races. | |
| #2098 lxd: wait for on-going refreshes to finish | snapcraft | merged | PR #2098 by kalikiana merged (commit 7666a74a7), adding a `snap watch` call before injecting core/snapcraft snaps into LXD containers so in-progress refreshes finish. Fixes #2037 and LP bug #1722049. | |
| #483 test(spread): run snap-preseed tests in lxd | imagecraft | merged | Merged PR #483 to update snap-preseed plugin tests to run in LXD across all systems, addressing CRAFT-5332. | |
| #2937 spread tests: do not attempt to remove snapd snap | snapcraft | merged | Merged in commit b9290bb32; spread tests now skip removing the protected snapd snap, fixing LXD test failures. | |
| #1722049 core refresh in container build breaks build | snapcraft (launchpad) | closed | Fixed by merged PR canonical/snapcraft#2098 (commit 7666a74a7), which waits for active snap refreshes before injecting build snaps into reusable LXD containers. |