feat(test-suite): rewrite fhevm-cli as Bun/TypeScript CLI#1985
Closed
feat(test-suite): rewrite fhevm-cli as Bun/TypeScript CLI#1985
Conversation
Replace the 340-line bash fhevm-cli with a typed Bun/TypeScript CLI using Commander.js. The new CLI orchestrates the same Docker Compose services with the same arguments, but with typed modules for env management, deploy DAG, test dispatch, and docker operations. New modules: - dag.ts: 13-step deploy DAG with explicit dependency edges - env.ts: version defaults + env file preparation (replaces cp+sed) - docker.ts: compose up/down, waitForService, getContainerIp - executor.ts: Bun.spawn wrapper with dry-run recording for testing - cache.ts: BuildKit local cache env var computation - test-suites.ts: suite name → grep pattern mapping - 10 command files: up, test, clean, logs, restart, upgrade, pause, unpause, status, doctor Test coverage (100 tests, 856 assertions): - Unit tests: dag, env, cache, test-suites - Migration tests: structural diff against bash deploy script, argument parity against original bash CLI (pinned to a4a9aa4) - Live e2e runner for comparing both CLIs against a Docker stack The original fhevm-cli becomes a 3-line bash passthrough.
Contributor
Author
|
Fear that this is major Opus 4.6 slop, closing for now. |
🧪 CI InsightsHere's what we observed from your CI run for 4b5235c. 🟢 All jobs passed!But CI Insights is watching 👀 |
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.
Summary
fhevm-clias a typed Bun/TypeScript CLI using Commander.jsfhevm-clibecomes a 3-line bash passthrough (exec bun run src/index.ts "$@")New modules
dag.tsenv.tscp+sed)docker.tscomposeUp/Down,waitForService,getContainerIpexecutor.tsBun.spawnwrapper with dry-run recording for testingcache.tstest-suites.tsup,test,clean,logs,restart,upgrade,pause,unpause,status,doctorTest coverage (100 tests, 856 assertions)
a4a9aa47)Test plan
bun testpasses all 100 tests (no Docker required)bunx tsc --noEmittype-checks cleanlybun run src/index.ts --helplists all 10 commandsbun run src/index.ts up --dry-runtraces the full 13-step deploy sequence./fhevm-cli up --builddeploys the full stack identically to the old bash script./fhevm-cli test input-proofruns tests identicallybun run src/e2e-runner.ts test --allcompares both CLIs