← Back to issue list

Use craft-platforms for build plans

View original Github issue

Metadata

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

Current evaluation

Closed as done: charmcraft PR #1894 (commit f1755e8f) switched build plan generation to craft-platforms via craft-application's BuildPlanService; rockcraft did the same in #715.

Resolution: closed resolved

Reason: Merged PR canonical/charmcraft#1894 (commit f1755e8f, +25/-33) removed Charmcraft's bespoke build-plan logic and delegated exhaustive plans to craft-platforms through craft-application's BuildPlanService, as seen in charmcraft/services/buildplan.py. The equivalent Rockcraft adoption landed in canonical/rockcraft#715 (commit 516d29e5), and the shared planner API was delivered in craft-platforms#148. The issue was closed once both crafters shared one planning implementation, matching the dedup/consistency goal.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done Use craft-platforms for creating build plans ### Why it needs to get done * To deduplicate similar build planning logic * To ensure consistent build plans between rockcraft and potential consumers of craft-platforms, like Launchpad

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Closed as done: charmcraft PR #1894 (commit f1755e8f) switched build plan generation to craft-platforms via craft-application's BuildPlanService; rockcraft did the same in #715.
stealth/space-bunny-alpha — closed resolved Merged PR canonical/rockcraft#715 adopted craft-platforms for build plans, replacing Rockcraft-specific planning logic with a shared implementation to deduplicate logic and improve consistency.
qwen3.6-35b-a3b-mtp-q6 — — Closed without resolution. The proposal to use craft-platforms for build plans to deduplicate logic and ensure consistency was not implemented or superseded.
qwen/qwen3.6-35b-a3b — — Closed and abandoned. The request was migrated to internal Jira ticket CRAFT-3324 with no further implementation or resolution.
qwen/qwen3.6-35b-a3b — — Closed without resolution. The request to use craft-platforms for build plans was abandoned on GitHub and tracked internally via Jira ticket CRAFT-3324. No implementation occurred.
qwen3.6-35b-a3b-mtp-q6 — — Abandoned. The request to use craft-platforms for build plans to deduplicate logic and ensure consistency was closed without implementation or follow-up pull requests.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/charmcraft#1894 (confidence 97%)

    Merged PR titled 'refactor: use craft-platforms for build plans' (commit f1755e8f) directly implements this issue in Charmcraft.

  • Related To: canonical/rockcraft#715 (confidence 88%)

    Parallel adoption of craft-platforms for Rockcraft build plans (commit 516d29e5), which closed alongside this issue.

  • Likely Fixed By: craft-platforms#148 (confidence 85%)

    Delivered the shared build planner API in craft-platforms (tracked by craft-platforms#3), the prerequisite both crafters consume.

Related issues

Issue Project State Summary Similarity
#698 Use craft-platforms for build plans rockcraft closed Merged PR #715 (516d29e5) replaced Rockcraft's custom build-plan generation with craft-platforms, resolving #698 and aligning plans with downstream consumers.
87%
#1894 refactor: use craft-platforms for build plans charmcraft merged Merged PR #1894 (commit f1755e8f, +25/-33) replaced Charmcraft's custom build-plan generation for `platforms` charms with craft-platforms, routing exhaustive build plans through craft-application's BuildPlanService.
87%
#391 Use craft-platforms for build plans craft-application closed Build planning and filtering moved to craft-platforms in merged PR #25 (d9ff004); craft-application adopted the planner through merged PR #666 (621d1a32).
82%
#5015 Use craft-platforms for build plans snapcraft closed Snapcraft adopted craft-platforms build plans in merged PR #5111 (commit 7969ee8d5), replacing its custom planning logic.
81%
#715 refactor: use craft-platform for the build plans rockcraft merged Merged PR #715 (516d29e5) replaced Rockcraft’s custom build-plan generation with craft-platform, creating one shared source for Rockcraft and remote builds; fixes #698.
81%
#639 Move the build planner logic into craft-platforms rockcraft closed Build planner logic extracted to craft-platforms in merged PR canonical/craft-platforms#25 (commit d9ff004); rockcraft later simplified in commit 5f898b32. Maintainer mr-cal confirmed completion.
76%
#5111 feat: use `craft-platforms` for build plans snapcraft merged Merged in #5111 via commit 7969ee8d5, replacing Snapcraft’s custom build-plan logic with craft-platforms utilities.
75%
#83 Support "platforms" for the build plans craft-application closed Platform support for build plans was merged in craft-application#86 (commit e494797a), adding platform-name selection/filtering and closing #83.
74%
#633 fix: improve `platforms.<platform>.build-on` validation rockcraft closed Closed unmerged as redundant: PR canonical/rockcraft#567 had already improved build-on validation by adopting craft-application's default BuildPlanner.
73%
#4 feat: add charmcraft build plans craft-platforms merged Merged charmcraft build-plan support and supporting build-plan utilities in canonical/craft-platforms#4 via commit efa325b.
73%