← Back to issue list

many: refactor snapcraft.yaml loading out of load_config

View original Github issue

Metadata

Project
snapcraft
Number
#2160
Type
pull request
State
merged
Author
sergiusens
Labels
Created
Updated
Closed

Current evaluation

Merged a refactor separating raw snapcraft.yaml loading from validated processing within load_config. Approved by reviewer, passed CI checks, and integrated into master with 95.54% diff coverage.

Suggested action:

No scores available.

Issue body

In order to have separated logical bits and clear overlaying communicated a logical separation is introduced between the actual snapcraft loading in raw form and its processed/validated form. LP: #1775849 Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com> - [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)? - [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh unit`? -----

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged a refactor separating raw snapcraft.yaml loading from validated processing within load_config. Approved by reviewer, passed CI checks, and integrated into master with 95.54% diff coverage.
qwen3.6-35b-a3b-mtp-q6 Merged into master as PR #2160. Refactored snapcraft.yaml loading out of load_config to separate raw parsing from processed validation. Codecov reported 95.54% diff coverage.
qwen3.6-35b-a3b-mtp-q6 Merged refactoring that extracts raw snapcraft.yaml parsing from load_config into a separate processed validation step. The change adds two files, increases code lines by 24, and slightly reduces overall coverage by 0.06%.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#146 Syntax of snapcraft.yaml (1.x) snapcraft merged Merged after rebasing to resolve diff conflicts and squashing commits. The pull request updates snapcraft.yaml (1.x) syntax and received final approval before integration.
74%
#1407 recording: record the original snapcraft.yaml snapcraft merged Merged to record the original snapcraft.yaml. Approved by one reviewer, modified 6 files with 91 additions and 31 deletions. Author noted the change requires PR #1406.
73%
#3526 project: validate snapcraft yaml before using it (CRAFT-55) snapcraft closed Merged into master. Moves snapcraft YAML validation to get_project() to prevent errors during extension application and JSON schema checks. Approved by two reviewers.
73%
#2781 yaml_utils: move _load_yaml from project for re-use (and add tests) snapcraft merged Merged. Moved _load_yaml to yaml_utils as load_yaml_file, added tests, and improved error handling to raise YamlValidationError. Approved, passed CI, and changed 3 files. Logic will be reused for snapcraft config files.
72%
#2734 SnapcraftError refactoring snapcraft merged Refactored SnapcraftError across four files, adding 279 lines and removing 26. Approved by one reviewer and merged into the codebase.
72%
#1278 recording: save the snapcraft.yaml in the resulting snap snapcraft merged Merged. Saves snapcraft.yaml to prime/snap in the resulting snap. Approved by one reviewer with passing CI and 100% diff coverage. Unresolved comments remain, but the implementation is accepted as a starting point.
72%
#1141 parser: use the project loader code to find the origin's snapcraft.yaml snapcraft merged Merged a refactor replacing custom snapcraft.yaml detection with existing project_loader code, resolving LP bug #1665007. The author addressed reviewer feedback on commit formatting and conventions before final approval.
72%
#2283 snapcraft snap: refactor override-build into a script snapcraft merged Merged refactoring that extracts override-build into a standalone script to reduce snapcraft.yaml duplication and support internal vendoring. Approved by reviewer, passed CI, and modified two files.
71%
#3637 meta: generate basic snap.yaml (CRAFT-801) snapcraft merged Merged into snapcraft/7.0, adding automatic generation of a basic snap.yaml to enable snap packing. Approved by a reviewer, passed CI, and increased test coverage by 1.16%.
71%
#204 Update snapcraft.yaml charmcraft merged Merged updates to snapcraft.yaml by markshuttle. Applied text changes for snapcraft.io and snap users, approved by two reviewers with zero unresolved comments. Diff added 18 lines and removed 14 across one file.
71%