lxd: snapcraft refresh in containers
Metadata
Current evaluation
Merged PR #1412 as 3d511c5eb, making LXD container refresh install Snapcraft once while allowing packages and snaps to be updated in reusable containers.
Resolution: closed resolved
Reason: PR #1412 was approved and merged as 3d511c5eb after prerequisite refactor PR #1627 landed as d2118855c. It added refresh support for persistent LXD build containers.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- Only update apt cache and install snapcraft once
- Allow snapcraft update to upgrade packages and snaps
See the [forum proposal](https://forum.snapcraft.io/t/update-persistent-lxd-containers/1648/3).
**Note**: The other part is implemented in #1546.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1412 as 3d511c5eb, making LXD container refresh install Snapcraft once while allowing packages and snaps to be updated in reusable containers. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1412 as commit 3d511c5eb, adding LXD refresh that installs Snapcraft once and updates packages and snaps while preserving container state between builds. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after awaiting prerequisite PR #1627. Implements snapcraft refresh for LXD containers, updating apt cache and packages once to persist changes across builds. Resolves container update persistence issues following successful testing. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after pausing for PR #1627. Implements snapcraft refresh for LXD containers to update apt cache and packages once. Post-merge testing verified successful package upgrades and proper container lifecycle handling. |
Update history
No update history recorded yet.
Related work
-
Blocked By:
snapcraft#1627
(confidence 100%)
The prerequisite LXD refactor landed before #1412 could be completed and merged.
-
Related To:
snapcraft#1546
(confidence 100%)
Merged as 0dde02398; implemented the complementary parts-cache update inside containers.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1739 lxd: refresh remote container | snapcraft | merged | Merged #1739 as 2f9265f23, fixing snapcraft refresh to honor the LXD remote named by SNAPCRAFT_CONTAINER_BUILDS instead of using a local container. | |
| #1364 lxd: Inject snapcraft and core snaps into the container | snapcraft | merged | Merged PR #1364 as 99f5598ac, injecting the host's Snapcraft and core snaps into LXD containers so builds no longer use a mismatched Xenial archive version. | |
| #1546 cli: update parts cache in the container | snapcraft | merged | Merged as 0dde02398: snapcraft update now refreshes the parts cache in the LXD container as well as the host. Complementary container refresh work landed in #1412. | |
| #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. | |
| #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. | |
| #1585 lxd: pass SNAPCRAFT_PARTS_URI through into container | snapcraft | merged | Merged in canonical/snapcraft#1585 (13ea598d5), forwarding SNAPCRAFT_PARTS_URI into LXD containers so cleanbuild can resolve remote parts; fixes Launchpad #1719951. | |
| #1666735 snapcraft cleanbuild does not work with lxd installed via snap | snapcraft (launchpad) | closed | Fixed by merged canonical/snapcraft#1199 (commit 417989880), making cleanbuild LXD detection packaging-independent instead of relying on apt package metadata. | |
| #1655 lxd: distinguish argless clean from clean -s pull | snapcraft | merged | Merged in snapcraft#1655 (ed32603c7), fixing LXD cleanup so bare clean removes build containers while clean -s pull preserves or recreates them. | |
| #52 lxd: add snapshot support (CRAFT-144) | craft-providers | merged | LXD snapshot support was merged in canonical/craft-providers#52 via commit 2ddab88 (implementation 5d49777), adding CRAFT-144 functionality. |