Skip to content

fix: make RC logs visible in Windows GitHub Actions [HZ-5386]#1413

Closed
ihsandemir wants to merge 1 commit intomasterfrom
fix/windows-rc-logs
Closed

fix: make RC logs visible in Windows GitHub Actions [HZ-5386]#1413
ihsandemir wants to merge 1 commit intomasterfrom
fix/windows-rc-logs

Conversation

@ihsandemir
Copy link
Collaborator

Summary

  • Redirect Windows remote controller stdout/stderr to rc_stdout.log (RC runs in a separate minimized console window via start /MIN, so output is lost in CI)
  • Print RC log contents after tests complete in both success and failure paths of test-windows.bat

Test plan

  • Verify Windows CI workflow runs successfully
  • Confirm RC logs appear in GitHub Actions output after test completion
  • Verify RC startup failure path also prints logs

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).
@ihsandemir ihsandemir requested a review from JackPGreen March 16, 2026 09:28
@ihsandemir ihsandemir self-assigned this Mar 16, 2026
@ihsandemir ihsandemir added this to the 5.7.0 milestone Mar 16, 2026
Copy link
Contributor

@JackPGreen JackPGreen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

java -cp ${CLASSPATH} \
-Dhazelcast.enterprise.license.key=${HAZELCAST_ENTERPRISE_KEY} \
-Dhazelcast.phone.home.enabled=false \
$MODULE_ARGUMENTS \
com.hazelcast.remotecontroller.Main --use-simple-server &
rcPid=$!

@ihsandemir ihsandemir changed the title fix: make RC logs visible in Windows GitHub Actions fix: make RC logs visible in Windows GitHub Actions [HZ-5386] Mar 16, 2026
@ihsandemir
Copy link
Collaborator Author

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:

java -cp ${CLASSPATH} \
-Dhazelcast.enterprise.license.key=${HAZELCAST_ENTERPRISE_KEY} \
-Dhazelcast.phone.home.enabled=false \
$MODULE_ARGUMENTS \
com.hazelcast.remotecontroller.Main --use-simple-server &
rcPid=$!

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.

@ihsandemir ihsandemir requested a review from JackPGreen March 16, 2026 10:20
@JackPGreen
Copy link
Contributor

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:

java -cp ${CLASSPATH} \
-Dhazelcast.enterprise.license.key=${HAZELCAST_ENTERPRISE_KEY} \
-Dhazelcast.phone.home.enabled=false \
$MODULE_ARGUMENTS \
com.hazelcast.remotecontroller.Main --use-simple-server &
rcPid=$!

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:
start /b ping github.com -t

Pipes the output into the original window while allowing it to proceed.

@ihsandemir
Copy link
Collaborator Author

ihsandemir commented Mar 16, 2026

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:

java -cp ${CLASSPATH} \
-Dhazelcast.enterprise.license.key=${HAZELCAST_ENTERPRISE_KEY} \
-Dhazelcast.phone.home.enabled=false \
$MODULE_ARGUMENTS \
com.hazelcast.remotecontroller.Main --use-simple-server &
rcPid=$!

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: start /b ping github.com -t

Pipes the output into the original window while allowing it to proceed.

let me try this.
Trying the fix at #1414

@ihsandemir
Copy link
Collaborator Author

@JackPGreen Changes based on your suggestion. It seems to work that way as well. Will close this PR and merge the new PR #1414

ihsandemir added a commit that referenced this pull request Mar 16, 2026
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
@ihsandemir
Copy link
Collaborator Author

replaced by #1414

@ihsandemir ihsandemir closed this Mar 16, 2026
@ihsandemir ihsandemir deleted the fix/windows-rc-logs branch March 16, 2026 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants