ethereum-optimism / ethereum-optimism/actions
CLI: CI smoke tests
- 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
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