Conversation
|
@coderabbitai analyze if this PR fixes #496 |
|
Tip For best results, initiate chat on the files or code changes.
Issue
|
| Issue impact | Fixed by PR #498? |
How |
|---|---|---|
| Post-action scripts crash in outer env | ✅ Yes | env.Exit() stops outer SCons before it re-runs post-actions |
firmware.factory.bin corrupted (missing boot_app0.bin) |
✅ Yes | Outer SCons never reaches the esptool step |
| Doubled build time | ✅ Yes | Outer SCons exits immediately after child completes |
Key design points:
env.Exit(child_rc if child_rc else 0)correctly propagates failure: if the childpio runfails (non-zero), the outer process also exits with that code, so build failures are not swallowed.- The exit is placed after
component_manager.restore_pioarduino_build_py(), so the cleanup step still executes before the outer process stops. - The fix is scoped only to the hybrid-compile path — it does not affect normal (non-hybrid) builds.
The implementation is exactly what the issue author suggested ("After env.Execute(...), call env.Exit(0) or sys.exit(child_rc)"), and covers all reported failure modes. ✅
Description:
Related issue (if applicable): fixes #496
Checklist: