build: require metadata.yaml and parse on Builder init (CRAFT-301)
Metadata
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. |