project: early snapcraft.yaml validation
Metadata
Current evaluation
Merged. Implements early snapcraft.yaml validation to prevent invalid multipass instance creation and reduce build times. Approved by maintainer, passed CI checks, and resolved Launchpad bug #1794507.
Suggested action: —
No scores available.
Issue body
Avoid creating and invalid multipass instance by doing an early
validation of snapcraft.yaml. This has the benefit of faster turnaround
times too.
LP: #1794507
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/)?
- [ ] 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)?
- [ ] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [ ] 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. Implements early snapcraft.yaml validation to prevent invalid multipass instance creation and reduce build times. Approved by maintainer, passed CI checks, and resolved Launchpad bug #1794507. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged implementation of early snapcraft.yaml validation to prevent invalid multipass instance creation and improve turnaround times, resolving Launchpad bug #1794507. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged early validation for snapcraft.yaml to prevent invalid multipass instance creation and improve turnaround times. Resolves LP: #1794507. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #2258 build providers: snapcraft images for multipass | snapcraft | merged | Implemented snapcraft build images for multipass environments with a Darwin workaround. Merged after reviewer approval and passing CI checks, adding 239 lines across 7 files to resolve LP #1791821. | |
| #2309 snap: improve early base detection logic | snapcraft | merged | Merged. Resolved early base detection failure in build providers by updating logic to account for snapcraft's non-project directory execution. Approved by reviewer, passed CI, and merged with minimal changes. | |
| #1615 schema: improve invalid app, hook, and part errors | snapcraft | merged | Merged changes improve validation error messages for invalid app, hook, and part names in snapcraft.yaml. Replaces confusing jsonschema errors with custom validation messages, resolving Launchpad bug #1606890. Approved by two reviewers and passed CI. | |
| #2517 project: ensure yaml load returns a dictionary | snapcraft | merged | Merged fix for SNAPCRAFT-JQ ensuring yaml.load returns an empty dictionary instead of None for empty files. Prevents validation crashes when Snapcraft processes empty YAML. Approved by reviewer and passed all CI checks. | |
| #1073 project: snapcraft.yaml in a snap directory | snapcraft | merged | Merged into master. Defaults new projects to place snapcraft.yaml inside a snap directory while retaining support for legacy locations. Approved and passed CI checks. |