remote-build: support `build_path` for snaps
Metadata
Current evaluation
Closed as triaged after narrowing support to remote-build --project-dir; Snapcraft-side implementation remains in canonical/snapcraft#6287.
Resolution: closed superseded
Reason: Maintainers deferred broader lifecycle and ST178 support and moved the actionable work to canonical/snapcraft#6287, which remains open for Snapcraft wiring and tests. No resolving craft-application PR or commit was identified.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Launchpad added a `build_path` field to the [Snap recipe API](https://api.launchpad.net/devel.html#snap) in April 2026, similar to rock and charm recipes.
Craft-application should wire up this field, such that Snapcraft can provide a build path.
### Why it needs to get done
To unblock https://github.com/canonical/snapcraft/issues/6287 and allow users to do:
```bash
snapcraft remote-build --build-path path/to/snapcraft.yaml
```
Note:
It looks like the behavior for this is to cd to that directory and build. So this can support a monorepo with multiple, independent snap projects but not a monorepo containing shared code across multiple snap files.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed superseded | Closed as triaged after narrowing support to remote-build --project-dir; Snapcraft-side implementation remains in canonical/snapcraft#6287. | |
| stealth/space-bunny-alpha | — | closed superseded | Closed as triaged without a code fix; implementation moved to Snapcraft's remote-build --project-dir proposal in canonical/snapcraft#6287. | |
| stealth/space-bunny-alpha | — | closed stale | Closed as triaged: Snap remote builds will support build paths, initially via `remote-build --project-dir`; Snapcraft#6287 remains open for implementation. | |
| qwen/qwen3.6-35b-a3b | — | — | Accepted and closed. The build_path enhancement for snaps is scoped to the remote-build subcommand for now, with plans to expand to other lifecycle commands later. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
15
Complexity:
45
Confidence:
90
Support Request:
0
|
keep open | Enhancement to support `build_path` for snaps in remote-build, unblocking snapcraft issue #6287. Currently under discussion regarding scope (remote-build only vs. all lifecycle commands). | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
5
Complexity:
40
Confidence:
95
Support Request:
5
|
keep open | Enhancement to wire up Launchpads new build_path field for snap recipes, enabling snapcraft to specify a build directory for remote builds. Currently under active discussion among maintainers regarding implementation scope. |
Update history
| Date | Change |
|---|---|
| closed |
Related work
-
Superseded By:
canonical/snapcraft#6287
(confidence 88%)
Tracks the remaining Snapcraft remote-build --project-dir implementation and spread coverage.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #6372 feat(remote-build): add --project-dir argument to support build paths | snapcraft | open | Adds --project-dir to snapcraft remote-build (monorepo/build paths) with unit + spread tests. Maintainer testing rejected the os.chdir/sys.argv workaround in favor of build-path; remote-build and lint CI are red, no approvals, quiet 28 days. | |
| #1968303 remote-build: support for snap relative sources | snapcraft (launchpad) | open | ROS 2 parts sourcing files from SNAPCRAFT_EXTENSIONS_DIR build locally but fail remote-build because the variable path is treated as an unknown source type; the report remains unconfirmed. | |
| #1128 feat(remotebuild): add build-path to snap recipes | craft-application | merged | Merged PR #1128 as commit 90cc2c75, adding Launchpad build-path support to SnapRecipe and RemoteBuildService. It fixes #1106 and unblocks canonical/snapcraft#6287. |