extensions: parse snapcraft.yaml before expanding extensions
Metadata
Current evaluation
Merged fix for the expand-extensions command to parse snapcraft.yaml before expanding extensions. Resolves core22 parsing issues with parse-info and advanced grammar keywords. Approved, passed CI, and merged into main.
Suggested action: —
No scores available.
Issue body
- [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] Have you successfully run `make lint`?
- [X] Have you successfully run `pytest tests/unit`?
-----
`expand-extensions` command now parses core22 snaps containing parse-info and advanced grammar keywords.
#### source
* https://bugs.launchpad.net/snapcraft/+bug/2011719
* https://forum.snapcraft.io/t/parts-part-parse-info-broken/34335
(CRAFT-1701)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged fix for the expand-extensions command to parse snapcraft.yaml before expanding extensions. Resolves core22 parsing issues with parse-info and advanced grammar keywords. Approved, passed CI, and merged into main. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into main. Resolves core22 snap parsing failures by updating the expand-extensions command to parse snapcraft.yaml before expanding extensions, supporting parse-info and advanced grammar keywords. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into main. Fixes expand-extensions to parse snapcraft.yaml before expansion, resolving core22 failures with parse-info and advanced grammar keywords. PR #4110 merged with 100% diff coverage. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4035 plugins: parse snapcraft.yaml before listing plugins | snapcraft | merged | Merged to main. Fixes plugin listing failures for core22 projects using extensions, parse-info, or advanced grammar. The change parses snapcraft.yaml before plugin enumeration. Approved and passed CI. | |
| #3814 extensions: use pydantic to validate yaml before expanding | snapcraft | merged | Merged updates implementing pydantic validation for snapcraft.yaml prior to expansion and correcting an underscore-to-hyphen alias mapping. Approved by two reviewers with passing CI checks, advancing core22 architecture support. | |
| #292 extensions: add cli commands | rockcraft | merged | Merged addition of list-extensions and expand-extensions CLI commands matching Snapcraft semantics, plus test refactoring. Resolves #274. Approved by two reviewers, passed CI, and modified 15 files (+452/-109 lines). | |
| #885 fix: Removed reference to snapcraft.yaml in expand extensions | rockcraft | open | One-line fix removing the snapcraft.yaml reference from the expand-extensions help text and docstring, fixing #658. Approved by 2 reviewers with all CI checks green, but unmerged and inactive ~6 months; the fix is still unapplied in the codebase. | |
| #3668 extensions: support core22 | snapcraft | merged | Merged into snapcraft/7.0. Implements core22 support for extensions by updating the API and processing pipeline. Confirmed apply_extensions compatibility, passed code review and CI, and increased coverage by 1.43%. | |
| #3679 Expand extensions | snapcraft | merged | Merged into snapcraft/7.0 after approval and passing CI checks. The changes expand extensions, address CRAFT-948, and increased overall coverage by 0.17%. | |
| #1103 fix: remove snapcraft.yaml reference from expand-extensions | rockcraft | open | Removes snapcraft.yaml references from expand-extensions help text and docstring (3 lines, 1 file). Approved with CI green, but inactive ~6 months; fix still unapplied in codebase; likely duplicate of older PR #885. | |
| #2348 extensions: remove root extensions | snapcraft | merged | Merged removal of root extension declarations from snapcraft.yaml. Resolves LP #1797631 by deferring application scope decisions until usage patterns clarify. Approved by maintainer, passed CI, and modified two files. | |
| #2350 extensions: parse all declared extensions before applying | snapcraft | merged | Merged to resolve LP: #1797638 by parsing all declared extensions before applying them, fixing conflicts when multiple apps share an extension. Approved, passed CI, and achieved 100% diff coverage. | |
| #2347 extensions: support adding root properties | snapcraft | merged | Merged: extensions can now add YAML snippets to the root of snapcraft.yaml, resolving LP: #1794531. Approved by a reviewer, passed CI with 100% diff coverage, and modified three files. |