Repository navigation
Conversation
Represent the Windows npm wrapper, test orchestration, Testnet deploy security, and hardened E2E path in a single deterministic ViTest suite that runs on the supported Linux/macOS/Windows matrix. The suite is fully offline, contains no secrets or live-Testnet dependency, and asserts the platform support contract documented in docs/reference/platform-support.md.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #214
Represent the Windows npm wrapper, test orchestration, Testnet deploy security, and hardened E2E path in a single deterministic ViTest suite that runs on the supported Linux/macOS/Windows matrix. The suite is fully offline, contains no secrets or live-Testnet dependency, and asserts the platform support contract documented in docs/reference/platform-support.md.
Summary
Adds a deterministic, cross-platform critical-path regression suite
(
tests/critical-path.test.ts) that exercises the stabilized StellarForge CLIcritical path. Because the suite is a Vitest suite, it runs on every target in
the existing
ci.ymlplatform matrix (Linux / Node 22, Linux / Node 24,macOS / Node 22, Windows / Node 22) without any workflow changes.
The suite represents the Windows npm wrapper, test orchestration, Testnet
deploy security, and the hardened E2E smoke path in one place, with no secrets
and no live-Testnet/network dependency.
Related Issue
Closes #214
Backlog ID: SW-119. Declared dependencies: SW-064, SW-075, SW-093, SW-118. The
suite is self-contained and represents each of those areas so it does not rely
on their files landing first.
Scope
Work completed — added
tests/critical-path.test.ts(18 tests):createNpmInvocationselects the documented wrapper for the runningplatform:
cmd.exe /d /s /c npm ...on Windows,npm ...on POSIX.including metacharacter-bearing inputs.
resolveTestProcessPlanreuses the npm wrapper for generated Nodeprojects and selects
cargo.exe/cargofor Cargo workspaces.stellarforge testagainst a generatedbasic-app.SubprocessCliError(with SIGTERMcleanup), and unsupported projects fail with actionable guidance.
mainnet/pubnet/futurenet/local, and rejectionoutside a Cargo smart-contract workspace.
stellarexecution surfaces the contract ID and does not reflectsecret/seed-phrase material; failed deploys propagate; network/identity are
required.
basic-appandsmart-contracttemplates.scripts/e2e-smoke.mjsstays offline, mocked, platform-aware, andsecret-free, and that
e2e-smoke.yml/ci.ymlwire the E2E path and thesupported platform matrix.
dist/cli.jsbin, the documentedplatform matrix and Windows/POSIX executable differences, and that the
supported matrix does not use
continue-on-error.Intentionally left out:
src/**) changes — no protected trust-boundary surface istouched.
ci.ymlmatrix already runs the suiteon all four supported targets.
Testing
Checks run locally (Windows, Node v24.21.0, npm 10.9+):
npm ci --ignore-scripts --no-audit --no-fund— passnpm run typecheck— passnpm run build— passnpx vitest run tests/critical-path.test.ts— 18/18 passnpm test— 177 pass / 2 failThe 2 failures (
configuration.test.ts→ symlinked config,template-generation.test.ts→ symlinked template) are pre-existing on thislocal Windows checkout:
symlinkSyncreturnsEPERMwithout Developer Mode /admin. They are unrelated to this change and pass on the Linux/macOS/Windows
CI runners (Windows runners have the privilege enabled). No regression is
introduced by this PR.
Security Impact
Security notes:
Test-only change; no
src/**or.github/workflows/**changes. The suiteasserts existing security contracts — Testnet-only deployment, no secret or
seed-phrase reflection in output, and fully offline mocked subprocesses — but
does not alter them. No secrets, credentials, live Testnet, or network access
are introduced.
Release Impact
No published/user-visible behavior change
Patch
Minor
Breaking/pre-1.0 contract change
Changeset included where required
Changeset not required; reason explained below
Release notes:
Tests-only change. No shipped CLI command, option, template, or user-visible
behavior changes. Per
CONTRIBUTING.md, a Changeset is not required for testswith no shipped behavior change.
Documentation
The suite asserts the existing contract in
docs/reference/platform-support.mdand follows
docs/contributing/testing.md; no documentation update is needed.Checklist
docs/contributing/wave-architecture.mdfor Stellar Wave work