ethereum-optimism / ethereum-optimism/actions

CLI: CI smoke tests

Open
#418 0 comments 0 reactions 0 assignees View on GitHub
agent
Dominant language
TypeScript
Stars
32
Forks
25
Avg merge
10h 20m
Merged PRs (30d)
16

Description

Run the \`actions\` binary inside CI to assert JSON shape, exit codes, and error behavior end-to-end.

Parent: #407

## Scope

- Spawn the built CLI binary in a test (via \`child_process.spawn\` or vitest+execa).
- Assert stdout parses as JSON and matches a schema per command (at minimum: \`assets\`, \`chains\`, \`lend markets\`, \`swap quote\`, \`wallet balance\`).
- Assert stderr + exit code for each error category (validation, config, network, onchain revert, unknown).
- Gate on it in the CircleCI \`check\` job.

## Out of scope

- Hitting live mainnet — mock RPC responses at the fetch layer or point at Anvil fork.

Contributor guide

Open the contributing guide

Research direction

Start by locating the built `actions` binary, existing CLI tests, and the CircleCI `check` job. Use `child_process.spawn` or Vitest with execa, mock RPC responses at the fetch layer or use an Anvil fork, and cover the listed commands and error categories. Done means JSON schemas, stderr, exit codes, and the CI gate are verified without live mainnet access.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
ci-cd, cli, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.