← Back to issue list

remote-build: set snapcraft's channel in the build recipe

View original Github issue

Metadata

Project
snapcraft
Number
#6384
Type
issue
State
open
Author
mr-cal
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed
—

Current evaluation

Remote-builder should pin Snapcraft's own channel in the Launchpad recipe (e.g. 8.x/stable) and expose an env var override; triaged as enhancement with internal ticket SNAPCRAFT-1397, pending upstream craft-application support.

Suggested action: keep open

Reason: Filed by maintainer mr-cal and already triaged (Status: Triaged, Type: Enhancement) with an internal ticket SNAPCRAFT-1397 created and a matching Launchpad bug (LP#2061517) linked, so the report is valid and actively owned. The failure mode is concrete and severe for affected users: after Snapcraft 9 hit latest/stable, users on Snapcraft 8 could no longer remote-build core20 snaps because Launchpad defaulted to the newer Snapcraft, and PR #3600 explicitly removed the hardcoded channel overrides that previously prevented this. The spec is clear (derive channel from the running Snapcraft version plus an env-var override), but the actual plumbing lives upstream, so craft-application#344 (still open) blocks it, matching Charmcraft's parallel request in charmcraft#1706 (also open, blocked on the same upstream issue).

Evaluated by: mr-cal-bot

Impact: 50 Quick Win: 17 Complexity: 55 Confidence: 78 Actionability: 75

Issue body

### Check existing issues - [x] I've verified that this request isn't described by any existing issues. ### Request Snapcraft's remote-builder should set the channel of Snapcraft itself in the snap build recipe to the current version (like `8.x/stable`, `9.x/stable`). It should also expose an environment variable for users to set the channel. ### The problem it solves Currently, `latest/stable` is used by default, so users don't have a way to use other channels, like testing the `edge` branch of Snapcraft. Second and more importantly, when a new major version of Snapcraft is released, the prior version isn't getting pinned. For example, Snapcraft 8 is the last version to support remote builds of core20 snaps. When Snapcraft 9 was released to `latest/stable`, users could no longer remotely building core20 snaps (even when using Snapcraft 8 to dispatch the build), since Launchpad would default to Snapcraft 9.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 50
Quick Win: 17
Complexity: 55
Confidence: 78
Actionability: 75
keep open Remote-builder should pin Snapcraft's own channel in the Launchpad recipe (e.g. 8.x/stable) and expose an env var override; triaged as enhancement with internal ticket SNAPCRAFT-1397, pending upstream craft-application support.
qwen/qwen3.8-27b
Impact: 55
Quick Win: 17
Complexity: 45
Confidence: 75
Actionability: 55
keep open Remote builder should pin snapcraft channel in Launchpad recipe to current version and expose env var override. Triaged enhancement, internal ticket SNAPCRAFT-1397 created, blocked by upstream craft-application infrastructure.
stealth/space-bunny-alpha
Impact: 58
Quick Win: 25
Complexity: 48
Confidence: 89
Actionability: 84
keep open Remote builds use latest/stable, breaking core20 builds when Snapcraft 9 became default. Triaged enhancement requests a matching major channel and an environment-variable override.
qwen3.6-35b-a3b-mtp-q6
Impact: 70
Quick Win: 28
Staleness: 20
Complexity: 60
Confidence: 70
Support Request: 10
keep open Enhancement to set Snapcraft's channel in remote build recipes and expose an environment variable for channel selection. Triaged, from maintainer, 23 days old.
qwen/qwen3.6-35b-a3b
Staleness: 5
Complexity: 40
Confidence: 90
Support Request: 10
keep open Enhancement to allow specifying the Snapcraft channel in remote build recipes via an environment variable, preventing compatibility breaks when new major versions release. Currently triaged and awaiting implementation.

Update history

Date Change
updated
created

Related work

  • Blocked By: craft-application#344 (confidence 82%)

    Upstream open issue to provide a way to set the application snap channel for remote builds; Snapcraft and Charmcraft work depends on this plumbing.

  • Related To: charmcraft#1706 (confidence 80%)

    Parallel Charmcraft request to default to the local charmcraft snap's tracking channel; also open and reported as blocked on craft-application#344.

  • Related To: snapcraft#2933 (confidence 75%)

    Earlier closed-unmerged PR proposing SNAPCRAFT_BUILD_ENVIRONMENT_CHANNEL_SNAPCRAFT; review redirected it to a stable default and it is the direct precursor of this issue.

  • Related To: snapcraft#3600 (confidence 70%)

    Merged PR that removed hardcoded channel overrides from remote builds, which is the current behaviour this issue asks to make version-aware.

Related issues

Issue Project State Summary Similarity
#344 remote build: provide a way to set application snap channel craft-application open Triaged enhancement remains open: Launchpad remote builds lack user-facing application snap channel selection, and downstream Snapcraft and Charmcraft work depends on this plumbing.
82%
#2933 remote-build: introduce --launchpad-snapcraft-channel option snapcraft closed Closed unmerged; PR #2938 superseded the CLI-toggle approach by making remote builds default to Snapcraft's stable channel, merged as 534ee1c1f.
80%
#3600 remote build: use channel defaults (CRAFT-568) snapcraft merged Merged #3600, removing hardcoded snapcraft/core18 channel overrides so Launchpad can select remote-build channel defaults (implementation c095b34fe; merge 638239855).
79%
#1706 Remote build: allow the user to specify a charmcraft channel and default to the charmcraft snap channel charmcraft open Feature request (maintainer-filed, internal ticket CRAFT-3132): let remote-build users pick the charmcraft snap channel via CLI, defaulting to the locally installed snap's tracking channel. Still open, blocked on craft-application#344.
78%
#2938 remote build: default to snapcraft's stable channel snapcraft merged Merged #2938 in commit 534ee1c1f, adding coverage that snap.requestBuilds() defaults to Snapcraft's stable channel.
76%
#2061517 `remote-build` lacks support for selecting Snapcraft channel snapcraft (launchpad) open remote-build still cannot select or mirror the local Snapcraft channel; valid upstream-dependent feature work remains open, with a GitHub implementation issue tracking it.
73%
#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.
73%
#2265 build providers: allow snapcraft channel selection snapcraft merged Merged build-provider Snapcraft channel selection for non-host-injected early testing, with a user warning, in commit 6a3d2d3cd (#2265).
72%
#2020683 snapcraft remote-build cannot use a custom version of snapcraft snapcraft (launchpad) closed Closed as stale without a fix. A maintainer said Snapcraft developers could tap channel branches; later channel-selection work remains open in canonical/snapcraft#6384.
70%
#3648 cli: reintroduce remote-build and promote to snapcraft help snapcraft merged Merged PR #3648 (commit 8dc1ac016), restoring remote-build and promote in Snapcraft's main CLI help for Launchpad bug #1943244.
70%