parts: consider non core22 when loading yaml
Metadata
Current evaluation
Merged following approval and passing CI. Updates the shared YAML loader to handle non-core22 parts via a two-step process: validating the base with a plain safe loader, then parsing with Snapcraft's custom _SafeLoader. Changed lines maintain 100% test coverage.
Suggested action: —
No scores available.
Issue body
The yaml loader is shared, the strategy is to load twice, once with the
plain safe loader to check for the base and raise if necessary, then
load again with Snapcraft's new custom _SafeLoader.
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged following approval and passing CI. Updates the shared YAML loader to handle non-core22 parts via a two-step process: validating the base with a plain safe loader, then parsing with Snapcraft's custom _SafeLoader. Changed lines maintain 100% test coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into snapcraft/7.0. Updates the YAML loader to handle non-core22 bases via a two-step process: plain safe loader validation followed by Snapcraft's custom _SafeLoader parsing. Passed all checks with 100% diff coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into snapcraft/7.0. Updates the YAML loader to handle non-core22 parts via a two-pass strategy: initial plain safe load for base validation, followed by Snapcraft's custom _SafeLoader. Maintains 100% diff coverage. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3631 parts: add early base parsing (CRAFT-766) | snapcraft | merged | Merged into snapcraft/7.0. Adds early base parsing for lifecycle commands, verifying the base entry via project YAML and falling back to legacy handlers if not core22. Approved, passed CI, +0.81% coverage. |