extensions: change extension merge-strategy to fix build-environment
Metadata
Current evaluation
Merged PR #2882 fixed extension build-environment merging, resolving the OrderedDict hashing failure and adding coverage for the new list-merge ordering.
Resolution: closed resolved
Reason: PR #2882 was merged as commit 896b3d657. The change appends user-defined list items after extension-defined items, strips duplicate strings, and adds build-environment tests.
Evaluated by: mr-cal-bot
No scores available.
Issue body
When merging "build-environment", merge_lists will fail
because OrderedDict is unhashable when calculating the "seen"
set.
- When merging lists, just append the user-defined list after the
extension-defined list. If the merged list is is comprised of just
strings, strip duplicates.
This ordering has changed from previous behavior, where user-defined
items were first, then the extension. This ripples to multiple extensions
and seeing the culmative effects (i.e. ExtensionOrderConsistencyTest).
- Add tests for coverage for `build-environment`.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2882 fixed extension build-environment merging, resolving the OrderedDict hashing failure and adding coverage for the new list-merge ordering. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/snapcraft#2882 (commit 896b3d657), fixing extension build-environment merging with ordered concatenation, string deduplication, and new tests. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/snapcraft#2882 (commit 896b3d657), fixing build-environment extension merges by replacing unhashable "seen" logic with ordered list concatenation and string deduplication; build-environment tests were added. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a fix for the extension merge strategy that caused build-environment failures due to unhashable OrderedDicts. The update reorders list merging to prioritize extension definitions, strips string duplicates, and adds test coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a fix for the extension merge strategy causing build-environment failures from unhashable OrderedDicts. User-defined list items now append after extension-defined ones, strings are deduplicated, and tests were added, altering merge order. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2878 extensions: fix merging of build-environment | snapcraft | closed | PR #2878 fixing build-environment merging in extensions was closed unmerged by cjp256 in favour of #2882, which replaced the merge_lists "seen" set with ordered list concatenation and was merged as commit 896b3d657. |