Why this exists
- Protects v1 API routes from regressions on pull requests.
- Verifies behavior against real blockchain conditions (preprod), not only mocked/unit paths.
- Keeps wallet bootstrap stable while allowing route tests to grow incrementally.
- Makes it easy to add new API route checks as composable scenario steps.
High-level flow
CI runs these stages in order:
-
Bootstrap (create-wallets.ts)
- Derives signer addresses from mnemonic secrets.
- Provisions one bot key per signer address.
- Creates test wallets (
legacy, hierarchical, sdk).
- Grants all signer bots cosigner access to created wallets.
- Seeds baseline pending transactions.
- Writes a versioned context JSON consumed by all later steps.
-
Route chain (run-route-chain.ts)
- Loads and validates bootstrap context.
- Loads enabled scenarios from
scenarios/manifest.ts.
- Executes steps in deterministic order with critical/non-critical failure semantics.
- Emits console summary and machine-readable JSON report.
-
Artifacts
- Route-chain JSON report is written to
ci-artifacts/ci-route-chain-report.json.
- Workflow uploads it as an artifact for triage.
Commit history
Why this exists
High-level flow
CI runs these stages in order:
Bootstrap (
create-wallets.ts)legacy,hierarchical,sdk).Route chain (
run-route-chain.ts)scenarios/manifest.ts.Artifacts
ci-artifacts/ci-route-chain-report.json.Commit history