[deployer] Bound SSH child execution#3714
Conversation
Deploying monorepo with
|
| Latest commit: |
fc3a6d0
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://f2699699.monorepo-eu0.pages.dev |
| Branch Preview URL: | https://bc-deployer-command-timeouts.monorepo-eu0.pages.dev |
Benchmark resultsTip ✅ PASSED: No benchmark exceeded the regression threshold. Benchmark comparison table
Baseline commit(s): |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b2c90ca. Configure here.
| .output() | ||
| .await?; | ||
| .arg(command); | ||
| let output = command_output(cmd, "ssh", ip, command_timeout).await?; |
There was a problem hiding this comment.
Timeout errors bypass retry loop in SSH execute
High Severity
In ssh_execute_with_timeout, command_output is called with ?, so a CommandTimeout error immediately exits the retry loop. In contrast, poll_service_active, poll_service_inactive, and scp_download all explicitly catch CommandTimeout with a match, log a warning, and continue the loop. This means a single hung SSH connection during deployment commands (apt install, binary download, service stop) fails the entire operation instead of retrying, defeating the purpose of the retry loop.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit b2c90ca. Configure here.
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
commonware-mcp | fc3a6d0 | May 04 2026, 10:42 PM |
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #3714 +/- ##
==========================================
- Coverage 95.83% 95.82% -0.01%
==========================================
Files 458 458
Lines 180036 180036
Branches 4208 4208
==========================================
- Hits 172531 172525 -6
- Misses 6166 6169 +3
- Partials 1339 1342 +3 see 2 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|


Sometimes deployer will hang while making sure instances are healthy. After a few minutes I am actually able to connect to the monitoring instance and see all of the instances are running. So the issue seems to be with the script hanging rather than the instances being legitimately unhealthy.
It seems that maybe the SSHing used to verify the instance health is not healthy for some reason (?). So instead we should have some sort of timeout and try again.
Codex vibed this fix.
Summary