← Back to issue list

Remove core22 remote-builder in favour of craft-application remote-builder

View original Github issue

Metadata

Project
snapcraft
Number
#4710
Type
issue
State
closed
Author
mr-cal
Labels
—
Created
Updated
Closed

Current evaluation

Core22 remote builds now use craft-application’s remote builder via merged PR #4724 (9905f2831); legacy remote-builder code was later removed by PR #5994 (b08f1a66e).

Resolution: closed resolved

Reason: PR #4724 was merged as commit 9905f2831, switching core22 remote builds to craft-application and addressing #4710. PR #5994 subsequently merged b08f1a66e to remove the legacy remote builder, completing the requested cleanup.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done 1. Ensure the `Dispatcher` exectues new remote-build command regardless of the base (I think this can be done [here](https://github.com/canonical/snapcraft/blob/c3e328853adc5e42ee06110473b6e6e8cc9af66b/snapcraft/application.py#L169))) 2. Migrate `_run_new_or_fallback_remote_build()` from `snapcraft.commands.core22.remote` to `snapcraft.commands.remote`. - This function contains [this business logic](https://private-user-images.githubusercontent.com/1146853/288046913-c0a1fb19-0561-4810-ba53-73aad8910056.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTIwODk5NjgsIm5iZiI6MTcxMjA4OTY2OCwicGF0aCI6Ii8xMTQ2ODUzLzI4ODA0NjkxMy1jMGExZmIxOS0wNTYxLTQ4MTAtYmE1My03M2FhZDg5MTAwNTYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDQwMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA0MDJUMjAyNzQ4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjkyNDRkZDQzZDY0YzIzMGMzNGEwNjM2NmQ0NDBhMjVlMjE5YWIwMzhhZGQ5MTViNWUyZTE2OWRiMjViOGEyMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.T0zToicicdnrE6ST76tRqdS0_amg03Mug_TrU0q7q6w) 3. Remove `snapcraft/commands/core22/remote.py` and `snapcraft.remote/` ### Why it needs to get done 1. Deduplication of code 2. So the new craft-application remote-builder can be used for core20, core22, and core24 snaps.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Core22 remote builds now use craft-application’s remote builder via merged PR #4724 (9905f2831); legacy remote-builder code was later removed by PR #5994 (b08f1a66e).
stealth/space-bunny-alpha — closed resolved Core22 remote builds moved to craft-application in merged PR #4724 (9905f2831). PR #5994 (b08f1a66e) later removed the remaining legacy remote builder.
stealth/space-bunny-alpha — closed resolved Merged #4724 (9905f2831), moving core22 remote builds to craft-application; legacy remote-builder cleanup later landed in #5994 (b08f1a66e).
stealth/space-bunny-alpha — closed resolved Merged #4724 (9905f2831), making core22 remote builds use craft-application and fixing #4710; legacy-builder removal later landed in #5994 (b08f1a66e).
qwen/qwen3.6-35b-a3b — — Closed without a linked resolution or merge. The migration of the core22 remote-builder to craft-application appears abandoned or completed via an unlinked pull request, as no resolution details are documented.
qwen/qwen3.6-35b-a3b — — Closed. The core22 remote-builder was removed and its logic migrated to craft-application, enabling unified remote builds across core20, core22, and core24 bases while eliminating code duplication.
qwen/qwen3.6-35b-a3b — — Closed. The core22 remote-builder migration to craft-application was resolved internally via CRAFT-2659. No pull request was merged to implement the deduplication or file removal.
qwen3.6-35b-a3b-mtp-q6 — — Closed and superseded by JIRA ticket CRAFT-2659. The core22 remote-builder migration to craft-application was deferred, with deduplication efforts tracked externally.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/snapcraft#4724 (confidence 100%)

    Merged commit 9905f2831 made core22 remote builds use craft-application.

  • Related To: canonical/snapcraft#5994 (confidence 100%)

    Merged commit b08f1a66e removed the remaining legacy remote-builder implementation.

Related issues

Issue Project State Summary Similarity
#300 Remote-build: use craft-application for core22 craft-application closed Core22 remote builds moved to craft-application in merged Snapcraft PR #4724 (commit 9905f2831), removing the legacy core22 build path.
86%
#4724 feat(remote)!: use craft-application remote build for core22 snapcraft merged Merged PR #4724 (9905f2831) switched core22 remote builds to craft-application, added a core20 disable-fallback opt-in, removed --build-on, and fixed #4710.
86%
#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.
74%
#4664 feat(craft-application): support remote build snapcraft merged PR #4664 by syu-w merged (commit 57d184af7), adding remote build support to craft-application in Snapcraft, including --platform and --build-for handling. Shipped in the 8.0.0 release notes as the new core24 remote-builder.
72%
#5223 remote-build: refactor onto craft-application's command snapcraft closed Remote-build was refactored onto craft-application's RemoteBuild in merged PR #5239 (commit f31d99498), bringing the requested upstream improvements.
72%
#5239 refactor: use craft-application's remote-build snapcraft merged Merged PR #5239 as f31d99498, replacing Snapcraft’s legacy remote-build path with craft-application’s command for CRAFT-4044.
72%
#4653 feat(craft-application): support remote build snapcraft closed Closed unmerged; superseded by canonical/snapcraft#4664 (commit 57d184af7), which landed the same craft-application remote build support for core24.
72%
#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.
71%
#4144 remote build: legacy builder cannot parse core22 snapcraft.yaml syntax snapcraft closed Marked won't fix: legacy-builder schema support was descoped in favor of the new remote builder, which accepts build-for; legacy support was removed by PR #5994 in Snapcraft 9.
71%
#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.
71%