← Back to issue list

Clarify 1:1 platforms-to-charm mapping in charmcraft.yaml schema

View original Github issue

Metadata

Project
charmcraft
Number
#2794
Type
pull request
State
closed
Author
Copilot
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #2794 to clarify that each platforms entry produces a separate packed charm, regenerating the schema and adding regression coverage.

Resolution: closed resolved

Reason: The repository record identifies PR #2794 as merged. It updated PlatformCharm.platforms, regenerated schema/charmcraft.json, and added a unit assertion for the schema description.

Evaluated by: mr-cal-bot

No scores available.

Issue body

The `platforms` key in the charmcraft schema did not explicitly state artifact behavior, which caused confusion about pack outputs. This update makes the schema state that each `platforms` entry maps to its own packed charm file. - **Schema semantics clarified** - Added an explicit description on `PlatformCharm.platforms` in the model so the contract is clear at the source: one platform entry → one charm artifact on pack. - **Generated schema updated** - Regenerated `schema/charmcraft.json` so the published schema now carries the new `platforms` description. - **Behavior contract pinned** - Added a focused unit assertion in `tests/unit/models/test_project.py` to lock the `platforms` schema description text and prevent regressions. ```json "platforms": { "description": "Defines the target platforms for this charm. Each platforms entry produces a separate charm file when packing." } ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #2794 to clarify that each platforms entry produces a separate packed charm, regenerating the schema and adding regression coverage.
stealth/space-bunny-alpha — closed resolved Merged PR #2794, clarifying that each platforms entry produces a separate packed charm and adding the generated schema update with regression coverage.
stealth/space-bunny-alpha — closed resolved Merged PR #2794, clarifying that every platforms entry produces a separate packed charm and adding generated-schema regression coverage.
qwen/qwen3.6-35b-a3b — — 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.
qwen3.6-35b-a3b-mtp-q6 — — Merged to clarify the charmcraft.yaml schema, explicitly stating each platforms entry produces a separate charm artifact. The update modifies the model description, regenerates the JSON schema, and adds a unit test to lock the text.

Update history

Date Change
created

Related issues

Issue Project State Summary Similarity
#1963 Clarify that each `platform` entry is a 1:1 mapping to output `charm` files charmcraft closed Clarified that each platforms entry produces a separate charm artifact; fixed by merged PR #2794 with regenerated schema JSON and regression coverage.
87%
#1535 Implement platforms for charmcraft charmcraft closed Implemented ST105-style platforms for charm builds in merged PR #1554, commit e3de0a46, completing the requested platform support.
75%
#215 fix(charm): accept redundant multi-base charms craft-platforms merged Merged PR #215 as commit 4879309, allowing redundant multi-base charms when they produce equivalent valid build plans and addressing canonical/charmcraft#2620.
71%