remote build: document nuances of current and legacy remote builders
Metadata
Current evaluation
Remote-builder nuances were documented by PR #4882 (commit bd49f8db0), completing the documentation subtask split from #4842.
Resolution: closed resolved
Reason: PR #4882 documented the behavior of current and legacy remote builders and was merged as commit bd49f8db0, completing subtask 1 from #4842.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Update the [Architectures object](https://github.com/canonical/snapcraft/blob/67de4083f7b56afd899c3d43c4fe0acaa7bd4c95/snapcraft/models/project.py#L481) and [this converter](https://github.com/canonical/snapcraft/blob/67de4083f7b56afd899c3d43c4fe0acaa7bd4c95/snapcraft/models/project.py#L538) to handle `run-on` for `core20` bases
After a team discussion on 2024-Jun-21 and a discussion with @lengau on 2024-Jun-26, the complexity of this task has increased and we've divided it into 3 separate problems:
1. Document the behavior and nuances of the legacy and new remote builders.
2. Do not parse the `architectures` or `platform` keywords if `--build-for` or `--platform` is provided
3. Create `Architecture` and `Project` models per-base and union type the models.
### Why it needs to get done
`core20` snaps cannot use the new remote-builder because `architectures: run-on:` is not in the Project model.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Remote-builder nuances were documented by PR #4882 (commit bd49f8db0), completing the documentation subtask split from #4842. | |
| stealth/space-bunny-alpha | — | closed resolved | Remote-builder documentation was merged in PR #4882 (commit bd49f8db0), completing the documentation subtask of #4842. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The scope was split into three sub-tasks, but no changes were made. The issue was superseded by internal Jira ticket CRAFT-3000 and abandoned after over two years. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. The scope was split into three tasks, but no pull requests were merged or code implemented. An internal Jira ticket was created, and the issue appears abandoned or superseded. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed and superseded. Scope expansion split the task into three separate tracking items. Work was deferred to internal Jira ticket CRAFT-3000. No code changes or merges were implemented. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed and deferred to internal tracking ticket CRAFT-3000. The scope was split into three tasks, prioritizing documentation. No code changes or pull requests were merged. Implementation remains pending. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/snapcraft#4882
(confidence 98%)
Merged documentation changes for the current and legacy remote builders.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4882 docs: add explanation for remote build | snapcraft | merged | PR #4882 (mr-cal) merged as commit bd49f8db0, adding docs/explanation/remote-build.rst plus index entries to explain current and legacy remote builders; closes documentation issue #4842 (CRAFT-3000). | |
| #597 Document the remote-build command | craft-application | closed | Documentation for `remote-build` added in merged PR #746 (commit 2c32b1ae): new how-to `build-remotely.rst` and reference `remote-builds.rst` covering experimental status, Launchpad workflow, and restrictions. Issue closed as completed. | |
| #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. | |
| #2774 remote-build: architecture handling | snapcraft | merged | Merged PR #2774 via commit 8300281d6, cleaning up and fixing remote-build architecture handling. Missing CLI unit tests were acknowledged as follow-up work. | |
| #2592 Add remote-build documentation | charmcraft | closed | Remote-build how-to and reference documentation was added by merged PR canonical/charmcraft#2702 (commit a54f9ac0) and released in Charmcraft 4.2. | |
| #5713 remote builder: legacy help text should never be shown | snapcraft | closed | Closed as a no-op after #5676 was completed by merged PR #5994 (b08f1a66e), which removed the legacy remote builder and its core20 help path. | |
| #766 Prototype the `remote-build` command/support | rockcraft | closed | Remote-build support was implemented in #769 (commit 8e74936f) and documented in #800, enabling Launchpad-powered builds from the command line. | |
| #5676 remote build: remove legacy remote builder | snapcraft | closed | Fixed in merged PR #5994 (commit b08f1a66e) for Snapcraft 9.0 by removing the legacy remote builder, selection logic, strategy env var, and legacy credential support. | |
| #6090 feat(remote-build/legacy): improve error when building with --build-for | snapcraft | merged | Merged PR #6090 improved legacy remote-builder errors for core20, clarifying that --build-for requires shorthand architectures because of Launchpad limitations. It addresses #5817 and supersedes #5819. |