← Back to issue list

feat: implement platforms for building charms

View original Github issue

Metadata

Project
charmcraft
Number
#1554
Type
pull request
State
merged
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

Merged implementation of platforms for building charms, replacing the deprecated bases field per ST105 spec. Resolves #1535 and depends on #1556 for testing. Approved by reviewers with passing CI checks.

Suggested action:

No scores available.

Issue body

This implements the Charmcraft portion of ST105 with the extra constraint that all newly added bases (including Ubuntu 24.04) require `platforms` rather than `bases` (per Gustavo comment on the spec). A future Charmcraft will drop support for `bases` entirely. This PR has a hard dependency on #1556 for spread tests. Fixes #1535

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged implementation of platforms for building charms, replacing the deprecated bases field per ST105 spec. Resolves #1535 and depends on #1556 for testing. Approved by reviewers with passing CI checks.
qwen3.6-35b-a3b-mtp-q6 Merged implementation of platforms for building charms, replacing bases per ST105 spec. Resolves #1535 and depends on #1556 for spread tests. Bases support will be fully deprecated in future releases.
qwen3.6-35b-a3b-mtp-q6 Merged implementation of platforms for building charms, replacing the deprecated bases field per ST105. Resolves #1535 and depends on #1556 for spread tests. Future releases will fully deprecate bases.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2080 docs: add platforms reference and how-to charmcraft merged Merged documentation updates for Charmcraft platforms, bases, and architectures, covering multi-base support. Approved by three reviewers, passed CI checks, and resolved issue #2009.
77%
#2657 test: Platform shorthand notation and charm plugin charmcraft merged Merged addition of tests for platform shorthand notation combined with the charm plugin, addressing regressions in earlier craft-platforms versions. Approved by two reviewers.
74%
#383 commands/build: charm file name format support for bases (CRAFT-66) charmcraft merged Merged following approval by three reviewers. Introduces charm file name format support for bases configuration, preserving the existing format as a legacy runtime path. Includes corresponding tests. (+98/-1 lines, 2 files changed)
72%
#2794 Clarify 1:1 platforms-to-charm mapping in charmcraft.yaml schema charmcraft closed Merged to clarify the charmcraft.yaml schema, explicitly stating each platforms entry produces a separate charm artifact. Changes include updated schema descriptions, regenerated JSON, and a regression test.
71%
#411 build: pack charm in provided environment when using bases (CRAFT-313) charmcraft merged Merged implementation for packing charms in provided environments per bases configuration (CRAFT-313). Approved by two reviewers, modifying two files (+175/-30). Future work will add verbose and quiet mode flag support.
71%