extensions: parse snapcraft.yaml before expanding extensions
Metadata
Current evaluation
Merged #4110 (commit 51ca1524b): expand-extensions now parses snapcraft.yaml before expansion, fixing valid core22 files that use parse-info and advanced grammar keywords.
Resolution: closed resolved
Reason: PR #4110 was approved and merged into main as commit 51ca1524b. The change parses snapcraft.yaml before expanding extensions and adds regression coverage for core22 parse-info and advanced grammar cases.
Evaluated by: mr-cal-bot
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 |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #4110 (commit 51ca1524b): expand-extensions now parses snapcraft.yaml before expansion, fixing valid core22 files that use parse-info and advanced grammar keywords. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #4110 (51ca1524b) into main: expand-extensions now parses snapcraft.yaml first, fixing core22 YAML with parse-info and advanced grammar keywords. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #4110 (commit 51ca1524b) makes expand-extensions parse snapcraft.yaml first, supporting core22 snaps that use parse-info and advanced grammar keywords. | |
| 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. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
snapcraft (launchpad)#2011719
(confidence 99%)
The PR addressed the linked Launchpad bug where expand-extensions failed on valid core22 YAML using parse-info and advanced grammar.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2350 extensions: parse all declared extensions before applying | snapcraft | merged | Merged in snapcore/snapcraft#2350 (commit 7e0391d40), parsing all declared extensions before applying any to fix LP #1797638. | |
| #2011719 snapcraft expand-extensions is broken | snapcraft (launchpad) | open | expand-extensions failed on valid core22 YAML using parse-info and advanced grammar; merged PR #4110 fixed preprocessing and added matching regression coverage. | |
| #4035 plugins: parse snapcraft.yaml before listing plugins | snapcraft | merged | Merged PR #4035 as commit d454a670e, parsing snapcraft.yaml before plugin listing so core22 projects using extensions, parse-info, or advanced grammar work correctly. | |
| #3679 Expand extensions | snapcraft | merged | Merged PR snapcore/snapcraft#3679 via commit 07a8d695c, expanding extensions for CRAFT-948 in the snapcraft/7.0 branch. | |
| #3781 extensions: refactor | snapcraft | merged | Merged in snapcraft#3781 via commit 986a9895b (merge 52155ff01), centralizing extension checks in the base class to prevent future cyclic imports. | |
| #2002405 "snapcraft plugins" (latest/stable) chokes on parsing "extensions" line | snapcraft (launchpad) | closed | Fixed in #4035 by correcting how snapcraft.yaml is parsed before listing plugins, resolving validation errors caused by extensions. | |
| #885 fix: Removed reference to snapcraft.yaml in expand extensions | rockcraft | open | Removes a snapcraft.yaml reference from expand-extensions help text (1 line, fixes #658). Approved, CI green, but untouched for 212 days and superseded by newer approved PR #1103, which makes the same correction more completely. | |
| #2347 extensions: support adding root properties | snapcraft | merged | Merged PR #2347 as commit 482bffb1c, allowing extensions to add root-level snapcraft.yaml properties such as plugs and slots; resolves LP #1794531. | |
| #2349 extensions: use extension docstring | snapcraft | merged | Merged PR #2349 in commit 6e7e30ee1, making snapcraft extensions display extension-specific docstrings and resolving LP #1797655. | |
| #1797638 Extensions try to add parts multiple times | snapcraft (launchpad) | closed | Fixed in snapcore/snapcraft#2350 (commit 7e0391d40) by parsing all declared extensions before applying them, preventing shared extensions from adding duplicate parts. |