Repository navigation
Matrix checker - #205
Matrix checker#205
Conversation
|
@midenotch Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
truthixify
left a comment
There was a problem hiding this comment.
Blocking findings:
-
This does not meet the issue's “exact installed” requirement.
scripts/check-compatibility-matrix.mjs:142-145,297-327reads dependency specifiers frompackage.json, strips^/~, and calls those the installed versions. The lockfile actually resolves@stellar/stellar-sdkfrom^13.1.0to13.3.0and@solana/web3.jsfrom^1.95.0to1.98.4; the checker still accepts matrix values 13.1.0 and 1.95.0. Resolve and compare the exact versions frompnpm-lock.yaml(or installed package metadata), and add a regression fixture where the specifier stays constant while the resolved lockfile version drifts. -
The PR is stacked on the unmerged Rust/Solana snippet branches and is currently conflicting. Both required snippet jobs are red, so the new required check cannot land in a passing required workflow. Rebase/isolate the matrix-checker commit on current
develop, remove the unrelated snippet/doc changes, and get both required jobs green.
truthixify
left a comment
There was a problem hiding this comment.
Current-head required checks are still red for branch-owned changes. The matrix checker compares the documented ^1.4.5 value with the CI-installed file:/tmp/wraith-protocol-sdk-1.4.5.tgz path and fails, rather than comparing the package version represented by that artifact. The branch also carries unrelated Rust quickstart edits that fail snippet compilation with undeclared Scalar/CompressedEdwardsY/etc., and the preview check exits because MINTLIFY_PREVIEW_URL is unset. Rebase/drop the stacked snippet changes, make the compatibility check compare a canonical exact installed version, and only require the preview job when its URL is actually supplied.
8f5571b to
0411ec6
Compare
fixed |
truthixify
left a comment
There was a problem hiding this comment.
Reviewed exact head 0411ec6. The required workflow now runs both the compatibility checker and its regression fixtures after installing the pinned SDK artifact. The checker compares local file specifiers against the installed artifact version, and local verification passed all 28 unit/integration cases plus the live matrix check. All required checks are green.
Closes #184
Summary
Compile the Solana contract guide against a reference workspace, and check the
compatibility matrix in CI. Rebased onto
develop; contains only the matrixchecker work (the Rust quickstart and Solana snippet stacks live in #203/#204).
Related Issue
Type of Change
Changes Made
scripts/check-compatibility-matrix.mjs— validates each chain section ofreference/compatibility-matrix.mdxagainst the entry that owns each value(EVM:
contracts/evm.mdx, Stellar:scripts/contract-registry.json, CKB:contracts/ckb.mdx) instead of checking that an identifier merely appearssomewhere in the docs.
installs the packed SDK tarball, which leaves a
file:/tmp/…tgzspecifier inpackage.jsonthat carries no version; the checker now reads the canonicalversion from
node_modules/<pkg>/package.jsonand compares the documentedvalue against that, so the matrix is validated against the version under test.
scripts/check-compatibility-matrix.test.mjs— regression fixtures for thechecker, including the
file:-specifier case.Compile docs snippetsjob now runs the matrix checker and its unittests.
MINTLIFY_PREVIEW_URLissupplied; the script skips (exit 0) instead of failing when no preview URL is
provided.
Testing
node --test scripts/check-compatibility-matrix.test.mjs— 28 tests passnode scripts/check-compatibility-matrix.mjs— passes (14 rows / 8 identifiers)@wraith-protocol/sdkdeclared asfile:/tmp/wraith-protocol-sdk-1.4.5.tgz) — checker passes against theinstalled version
1.4.5node scripts/check-preview-redirect.mjswithout a preview URL — skips, exit 0Checklist