fix: build integration client image once per run - #578
Conversation
start_client() now passes --build only on the first call (or when INTEGRATION_FORCE_BUILD=1). Later phase transitions recreate the container without rebuilding, cutting run time and Docker disk use. Fixes #576 Co-authored-by: Josh J <josh@joshjacobs.net>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe integration test script tests/integration/run.sh is modified so the client Docker image is built once per script run instead of on every start_client call. A new CLIENT_BUILT flag and the INTEGRATION_FORCE_BUILD environment variable control build behavior, while the client container is still always recreated. ChangesClient Build Caching
Estimated code review effort: 1 (Trivial) | ~5 minutes PoemA rabbit once rebuilt with glee, 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
Fixes #576
Summary
Integration tests were rebuilding the Go client Docker image on every
start_client()call (live → VOD → notice 6b → notice 6a). That added minutes per run and contributed to disk exhaustion during local validation.Changes
start_client()passes--buildonly on the first call per run--force-recreate --no-depsonly (config/volume changes still apply)INTEGRATION_FORCE_BUILD=1restores rebuild-on-every-call behaviour when neededrun.shheaderTesting
bash -n tests/integration/run.sh(syntax)./tests/integration/run.sh— please run locally before merge (requires Docker + live Twitch)Notes
Server build is unchanged (single build at startup). Only client rebuild redundancy is addressed.
Summary by CodeRabbit