fix: make RC logs visible in Windows GitHub Actions [HZ-5386]#1413
fix: make RC logs visible in Windows GitHub Actions [HZ-5386]#1413ihsandemir wants to merge 1 commit intomasterfrom
Conversation
On Windows, the remote controller runs in a separate minimized console window via `start /MIN`, so its output is lost in CI. Redirect RC stdout/stderr to rc_stdout.log and print it after tests complete (both in success and failure paths).
JackPGreen
left a comment
There was a problem hiding this comment.
The change is fine in isolation but a bit confused about how it fits in with the other platforms.
Specifically, the Windows script starts RC and echos to a file, but the Unix one just starts and prints to console:
hazelcast-cpp-client/scripts/start-rc.sh
Lines 127 to 132 in 6a064f9
On Linux/MacOS, start-rc.sh runs the RC java process with & (background), and its stdout/stderr are inherited by the parent shell - so RC logs naturally appear in GitHub Actions output. On Windows, start-rc.bat uses start "hazelcast-remote-controller" /MIN cmd /c "java ..." which launches RC in a separate minimized console window. In GitHub Actions, this output is completely lost - making it impossible to debug RC startup failures or see RC-side errors during test runs. |
Ok - that makes sense. Your suggested approach works, but is it possible to use the same background-task-execution implementation on Windows? A quick test shows: Pipes the output into the original window while allowing it to proceed. |
let me try this. |
|
@JackPGreen Changes based on your suggestion. It seems to work that way as well. Will close this PR and merge the new PR #1414 |
Use `start /B` instead of `start /MIN cmd /c` so RC stdout/stderr appear in the same console — visible in CI in real-time. Replace taskkill window-title filter with wmic command-line match since `start /B` does not create a titled window. replaces #1413
|
replaced by #1414 |
Summary
rc_stdout.log(RC runs in a separate minimized console window viastart /MIN, so output is lost in CI)test-windows.batTest plan