feat(init): source Nitro contracts from release or workspace - #38
Conversation
|
Rebased onto Conflict resolvedOne conflict, in Validation after rebase
Compatibility note worth acting onThis PR makes That is intended for publishing, but |
The mirror derived its tags from resolvePublishMatrix, which describes what a release publishes *now*. #38 narrows that function to the default contracts version, so `resolvePublishMatrix('all', 'all')` drops from 11 rows to 7 and `(…, 'v2.1')` returns none at all. Mirroring an older release would then copy 7 of its 11 tags and report success, and asking for v2.1 would fail as an empty matrix. `crane ls` on the source repository answers what actually exists, so the mirror copies what a release really published rather than what current rules would publish. Verified against the live package: v0.2.10 resolves all 11 tags including the four nc2.1 ones, a single variant+contracts filter resolves exactly one, and an unknown version fails. Both steps move into scripts/ci, matching the other CI helpers, so the loop is readable and testable outside a workflow run. Behavior otherwise unchanged: skip-if-current, refuse-on-divergence unless overwrite, digest asserted after every copy. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
7196c0b to
4d4511c
Compare
Summary
NITRO_CONTRACTS_LOCAL_DIR, then a prepared sibling checkout, then pinned Nitro Contracts v3.2.0nitro-contracts-refCompatibility
startand the run action retainnitro-contracts-versionfor selecting existing published images2695e7b3e3f460531e2b77fed48a60561c54d90eChecks
pnpm lintpnpm buildpnpm typecheckgit diff --checkSupersedes #37, which remained based on the already-merged #34 branch and cannot be safely rewritten without a force-push.