← Back to issue list

build: require metadata.yaml and parse on Builder init (CRAFT-301)

View original Github issue

Metadata

Project
charmcraft
Number
#401
Type
pull request
State
merged
Author
cjp256
Labels
—
Created
Updated
Closed

Current evaluation

PR #401 (CRAFT-301) merged: metadata.yaml parsing moved from handle_package() to Builder.__init__ for reuse, with an explicit missing-file error and new test; commit cd187c30, merge 6de20938.

Resolution: closed resolved

Reason: PR #401 was merged into the default branch via commit cd187c30 and merge commit 6de20938, after approval by 2 reviewers. The change makes metadata.yaml required and parses it on Builder initialization, replacing the previous FileNotFoundError with an explicit error plus a test case.

Evaluated by: mr-cal-bot

No scores available.

Issue body

metadata.yaml is read during handle_package(). Instead, read and parse the metadata on Builder's init, allowing for re-use across the class. Add explicit error if metadata.yaml is missing and add test case (Charmcraft currently fails with FileNotFoundError). Signed-off-by: Chris Patterson <chris.patterson@canonical.com>

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved PR #401 (CRAFT-301) merged: metadata.yaml parsing moved from handle_package() to Builder.__init__ for reuse, with an explicit missing-file error and new test; commit cd187c30, merge 6de20938.
stealth/space-bunny-alpha — closed resolved Merged canonical/charmcraft#401 (CRAFT-301), moving metadata.yaml parsing to Builder initialization, allowing reuse, and adding an explicit missing-file error instead of FileNotFoundError.
qwen/qwen3.6-35b-a3b — — Merged changes to parse metadata.yaml during Builder initialization, enabling reuse and adding explicit errors for missing files. Fixes a FileNotFoundError. Approved by two reviewers, passed CI, and modified two files.
qwen3.6-35b-a3b-mtp-q6 — — Merged. Moved metadata.yaml parsing to Builder initialization to enable class-wide reuse, fix Charmcraft FileNotFoundError, and add explicit error handling with corresponding tests.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#408 metadata: refactor parsing into own module (CRAFT-311) charmcraft merged PR #408 was merged as 6ce96573, landing 6163e67e: metadata parsing moved to a dedicated Pydantic module, reused charmcraft.yaml logic, and became reusable beyond build/pack.
73%