← Back to issue list

extensions: change extension merge-strategy to fix build-environment

View original Github issue

Metadata

Project
snapcraft
Number
#2882
Type
pull request
State
merged
Author
cjp256
Labels
—
Created
Updated
Closed

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.
77%