fix: install snapd from edge inside build environments
Metadata
Current evaluation
Merged. Installs snapd from the edge channel in build environments for component builds. Updated spread tests exercise the feature. Temporarily points to craft-providers main to incorporate a hotfix. Approved and passed CI.
Suggested action: —
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] Have you successfully run `make lint`?
- [x] Have you successfully run `pytest tests/unit`?
-----
1. Install snapd from edge inside build environments
2. Update spread tests to exercise build environments (two tests use lxd, one uses destructive-mode)
Note:
Installing `snapd` from edge exposed a minor bug in craft-providers `1.20.1`. However, that bug was mercifully fixed in the `1.19.3` hotfix (which was released and merged to main after `1.20.1` and there hasn't been a release on main since). So To get this prototype out the door, I'm just pointing to `main` for craft-providers and I'll do a [release](https://github.com/canonical/craft-providers/pull/493) soon.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Installs snapd from the edge channel in build environments for component builds. Updated spread tests exercise the feature. Temporarily points to craft-providers main to incorporate a hotfix. Approved and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to install snapd from edge in build environments, enabling component builds. Temporarily references craft-providers main to bypass a fixed bug and updates spread tests. Simplified pending stable channel support. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Installs snapd from edge in build environments for components, updating tests. Temporarily depends on craft-providers main to bypass a bug, with plans to revert once stable snapd supports components. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4733 fix(providers): do not install snapd from edge | snapcraft | merged | Merged a fix that removes snapd installation from the edge channel, replacing it with the _retry_with_newer_snapd decorator. Approved by two reviewers, passed CI checks, and removed 17 lines across four files. | |
| #4656 Install snapd from edge only when components are enabled | snapcraft | closed | Resolved via PR #4700. Snapd from the edge channel is now installed only when components are enabled, defaulting to the stable version for core22. | |
| #417 fix: allow using a snap from the snap store | craft-application | merged | Merged a fix defaulting to the stable channel for snap store snaps, enabling channel overrides via the CRAFT_SNAP_CHANNEL environment variable. Approved by reviewers, passed CI, and modified two files. | |
| #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. | |
| #3962 Setup snapd for snapcraft_legacy providers | snapcraft | merged | Merged a fix for failing spread tests caused by missing snapd sockets in LXD containers. The change adopts snapd initialization logic from craft-providers to properly start the service, resolving connection errors. Approved and passed CI. | |
| #5069 Test with snapd on candidate or edge | snapcraft | open | Enhancement to add a weekly spread smoke test running snapcraft against snapd on candidate or edge channel to catch integration bugs earlier. Triaged and tracked in Jira (CRAFT-3488) but no implementation found in the repo; dormant for ~14 months. | |
| #2516 fix: disable reactive:stable test variant due to snapd timing issue in craft-providers | charmcraft | closed | Closed after disabling the reactive:stable spread test variant to resolve CI failures from a transient snapd timing error in craft-providers. Preserved the two variant for coverage and added re-enable documentation. |