Commit fa2b145
fix(marketplace): honour producer tag_pattern in consumer semver range resolution (#2366)
* Fix consumer-side semver range ignoring marketplace tag_pattern (#2319)
When a consumer resolves a marketplace dependency with a semver range
(e.g. version: "~2.1.0"), APM now reads the tag naming pattern declared
by the marketplace producer instead of always falling back to the
hardcoded "{name}--v{version}" convention.
Changes:
- builder.py: add effective_tag_pattern to ResolvedPackage; thread it
from _resolve_entry through _resolve_explicit_ref and
_resolve_version_range.
- output_mappers.py: emit tag_pattern in the remote source dict so
marketplace.json carries the producer's chosen pattern.
- models.py: parse tag_pattern from the source dict into
MarketplacePlugin.
- resolver.py: pass plugin.tag_pattern (or DEFAULT_TAG_PATTERN
fallback) to resolve_version_constraint.
- Update golden fixture and existing unit tests to reflect the new
tag_pattern field in source dicts.
- Add unit and integration tests covering the full producer-to-consumer
closure.
- Update docs and CHANGELOG.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* test: cover marketplace tag pattern lifecycle
Add installed-binary install, update, outdated, fallback, and failure coverage while centralizing consumer validation and preserving marketplace provenance. Addresses the review-panel lifecycle and canonical-owner follow-ups for #2319.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* test: cover bare marketplace no-match
Exercise bare-version fail-closed behavior through the installed binary and clarify marketplace refresh semantics. Addresses the terminal test-coverage and documentation follow-ups for #2319.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: finish tag pattern contract
Make bare-version failure, producer republishing, error recovery, and resolver provenance explicit. Addresses the terminal review-panel follow-ups for #2319.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: clarify catalog validation failure
Document that one malformed source.tag_pattern rejects marketplace registration or refresh. Addresses the final doc-writer follow-up for #2319.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: sync architecture instruction mirror
Update the deployed Copilot instruction and lockfile hashes after adding the marketplace tag-pattern owner. Addresses the APM Self-Check drift failure.
apm-spec-waiver: internal provenance threading implements existing resolver semantics without extending OpenAPM v0.1
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: deduplicate rebased changelog
Keep one marketplace tag-pattern entry alongside the merged anonymous-first authentication fix after rebasing onto #2406.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: reconcile marketplace changelog
Preserve latest main release notes and retain one marketplace tag-pattern entry after the final rebase.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: deduplicate rebased marketplace changelog
Preserve the single certified marketplace tag-pattern entry alongside merged-main release notes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: reconcile final rebased changelog
Retain all merged-main entries and one marketplace tag-pattern entry.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: align final conflict resolution
Preserve the inspected concurrent resolution while retaining rebased history.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* test: preserve hermetic marketplace rewrites
Carry both package and marketplace URL rewrites in process-scoped Git config so auth hardening cannot bypass the lifecycle fixture.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: reconcile strict-write rebase changelog
Retain all merged-main entries and one marketplace tag-pattern entry.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Sergio Sisternes <sergio.sisternes@epam.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: danielmeppiel <danielmeppiel@users.noreply.github.com>1 parent bbb8b8d commit fa2b145
32 files changed
Lines changed: 1244 additions & 100 deletions
File tree
- .apm/instructions
- .github/instructions
- docs/src/content/docs
- consumer
- producer
- reference
- packages/apm-guide/.apm/skills/apm-usage
- scripts
- src/apm_cli
- deps
- install/phases
- marketplace
- tests
- fixtures/marketplace
- integration
- marketplace
- unit/marketplace
- utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| 67 | + | |
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| 67 | + | |
67 | 68 | | |
68 | 69 | | |
69 | 70 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2783 | 2783 | | |
2784 | 2784 | | |
2785 | 2785 | | |
2786 | | - | |
| 2786 | + | |
2787 | 2787 | | |
2788 | 2788 | | |
2789 | 2789 | | |
| |||
3290 | 3290 | | |
3291 | 3291 | | |
3292 | 3292 | | |
3293 | | - | |
| 3293 | + | |
3294 | 3294 | | |
3295 | 3295 | | |
3296 | 3296 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| |||
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
261 | 269 | | |
262 | 270 | | |
263 | 271 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
140 | 140 | | |
141 | 141 | | |
142 | 142 | | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
143 | 146 | | |
144 | 147 | | |
145 | 148 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
497 | 497 | | |
498 | 498 | | |
499 | 499 | | |
500 | | - | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
501 | 516 | | |
502 | 517 | | |
503 | 518 | | |
| |||
883 | 898 | | |
884 | 899 | | |
885 | 900 | | |
886 | | - | |
| 901 | + | |
887 | 902 | | |
888 | 903 | | |
889 | 904 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
232 | | - | |
| 232 | + | |
233 | 233 | | |
234 | 234 | | |
235 | 235 | | |
236 | 236 | | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
242 | 245 | | |
243 | 246 | | |
244 | 247 | | |
| |||
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
771 | 771 | | |
772 | 772 | | |
773 | 773 | | |
774 | | - | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
775 | 777 | | |
776 | 778 | | |
777 | 779 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1271 | 1271 | | |
1272 | 1272 | | |
1273 | 1273 | | |
1274 | | - | |
1275 | 1274 | | |
1276 | 1275 | | |
1277 | 1276 | | |
| |||
1294 | 1293 | | |
1295 | 1294 | | |
1296 | 1295 | | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
1297 | 1320 | | |
1298 | 1321 | | |
1299 | 1322 | | |
| |||
0 commit comments