feat(registry): adopt packages/releases snapshot layout#82
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5715256e2c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| continue; | ||
| } | ||
| } | ||
| base.insert(key.clone(), overlay_value.clone()); |
There was a problem hiding this comment.
Preserve template artifacts when merging release metadata
merge_tables overwrites every non-table key, so the release document’s artifacts array fully replaces the package template’s artifacts array instead of combining fields per target. In this commit the release metadata generator now writes [[artifacts]] with only target/url/sha256, while binary/install metadata remains in package templates, so merged manifests lose archive, binaries, completions, and GUI fields and installs can no longer expose expected binaries. Please merge artifact entries by target (or otherwise compose template + release artifact fields) rather than replacing the whole array.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Updated RegistryIndex merge logic to compose artifacts by target instead of replacing the full array. Release entries now overlay URL/checksum onto template artifacts while preserving template fields like archive, strip_components, binaries, completions, and GUI metadata. Added regression test package_versions_merges_release_artifacts_with_package_template_fields in crates/crosspack-registry/src/tests.rs.
Summary
crosspack-registryto require and verifypackages/+releases/metadata (no legacyindex/compatibility)registrysubmodule to include the full layout migration, tooling/workflow updates, and regenerated signaturesNotes
Verification
python3 -m unittest discover -s registry/testsREGISTRY_PREFLIGHT_ALL=1 REGISTRY_PREFLIGHT_SKIP_SMOKE=1 ./scripts/registry-preflight.sh(inregistry/)rustup run stable cargo test -p crosspack-registryrustup run stable cargo test --workspace -q