remote-build: add control logic for snap base
Metadata
Current evaluation
Base-aware remote-build routing was merged in PR #4343 (commit 128e0acb2), using legacy code for core20/core22 and the new path for devel/core24 and newer.
Resolution: closed resolved
Reason: PR #4343 was merged into main as 128e0acb2, resolving #4318. It added snapcraft.yaml base detection to select the appropriate remote-build implementation.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
This adds control logic to determine whether to execute the new or legacy remote-build code.
Requires parsing the snapcraft.yaml and checking the base. Only core20 and core22 snaps can use the legacy remote-build code.
Devel, core24, and onwards must use the new remote-build code.

### Why it needs to get done
remote-build needs to be migrated because it does not leverage the new craft libraries, has issues with building core22 snaps, and has issues related to how the local project is bundled.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Base-aware remote-build routing was merged in PR #4343 (commit 128e0acb2), using legacy code for core20/core22 and the new path for devel/core24 and newer. | |
| stealth/space-bunny-alpha | — | closed resolved | Implemented base-based remote-build routing in merged PR #4343 (commit 128e0acb2): legacy for core20/core22 and the new builder for devel/core24 and later. | |
| stealth/space-bunny-alpha | — | closed resolved | Implemented snap-base routing for remote builds in PR #4343 (commit 128e0acb2), using legacy code only for core20/core22 and the new path for devel/core24+. | |
| stealth/space-bunny-alpha | — | closed resolved | Base-based remote-build routing was implemented by merged PR #4343, commit 128e0acb2, completing the requested control logic for snap bases. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The request to add base-specific control logic for remote-build was abandoned due to lack of activity. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The requested control logic to route remote-build execution based on snap base was abandoned or superseded by subsequent migration efforts, with no associated pull request or code changes applied. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned. The requested control logic to route remote-build between legacy and new code based on snap base was closed without implementation. No resolution or follow-up PR was created. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without comments or linked changes. The remote-build base control logic task appears abandoned or superseded by later migration to the new craft libraries and updated remote-build pipeline. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
snapcraft#4343
(confidence 100%)
Merged PR that implemented the requested base-based remote-build routing.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4319 remote-build: add control logic for envvar `SNAPCRAFT_REMOTE_BUILD_STRATEGY` | snapcraft | closed | Implemented via merged PR #4353 (commit 2eddbfe6c, CRAFT-1974), adding SNAPCRAFT_REMOTE_BUILD_STRATEGY handling for disable-fallback/force-fallback; legacy builder later removed in #4724 (Snapcraft 9.0). | |
| #4321 remote-build: add control logic when the project is in a git repo | snapcraft | closed | Commit e0ef5ec27 added Git-aware remote-build dispatch: Git projects use the new implementation, while non-Git projects retain the legacy path. | |
| #4886 Use legacy remote builder for core20 snaps | snapcraft | closed | Fixed by merged PR #4895 (commit d9c8781a1), routing core20 snaps to the legacy remote builder because the new builder could not parse architectures with run-on. | |
| #4353 feat(remote-build): check SNAPCRAFT_REMOTE_BUILD_STRATEGY envvar | snapcraft | merged | Merged PR #4353 (commit 2eddbfe6c) added handling of SNAPCRAFT_REMOTE_BUILD_STRATEGY (disable-fallback/force-fallback) for core22-and-older bases, closing issue #4319 (CRAFT-1974). | |
| #4895 fix(remotebuild): require core20 snaps to use the legacy remote builder | snapcraft | merged | Merged in #4895 (d9c8781a1), requiring core20 remote builds to use the legacy builder because the new builder could not parse core20 snapcraft.yaml files; fixes #4886. | |
| #6287 remote-build: support build paths | snapcraft | open | Triaged enhancement to let remote-build select a nested snapcraft.yaml via --project-dir; upstream support is complete, but Snapcraft implementation and spread coverage remain. | |
| #4324 remote-build: new command logic | snapcraft | closed | Remote-build logic was replaced by merged PR #4395 (commit 2e0647594), adding isolated per-build cache worktrees, cleanup, and generated build IDs. |