Skip to content

Conversation

@tomgr
Copy link
Contributor

@tomgr tomgr commented Aug 21, 2025

This uses the WinFSP-based VFS implementation.

@tomgr
Copy link
Contributor Author

tomgr commented Aug 21, 2025

Just a draft for now as I'd like to see how it gets on with the CI here!

Copy link
Collaborator

@moroten moroten left a comment

Choose a reason for hiding this comment

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

Impressive work!

@tomgr tomgr force-pushed the windows-integration-test branch 6 times, most recently from a1508a3 to c6cc196 Compare August 22, 2025 07:07
Copy link
Collaborator

@stagnation stagnation left a comment

Choose a reason for hiding this comment

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

🎉

Copy link
Collaborator

@moroten moroten left a comment

Choose a reason for hiding this comment

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

(Removing "request changes" to try to get CI to run.)

@tomgr tomgr force-pushed the windows-integration-test branch from c6cc196 to a529b11 Compare August 28, 2025 18:44
@tomgr tomgr marked this pull request as ready for review August 28, 2025 19:09
@tomgr
Copy link
Contributor Author

tomgr commented Aug 28, 2025

I think this is now ready. I got caught out by the github actions windows environment. To cut a long story short, it turns out that sending an interrupt on Windows (which is CTRL_C_EVENT under the hood) requires a console environment. I tried many different ways of creating a console but in the end the only way I found of creating a console environment that was good enough to send a ctrl+c was to use conhost.exe directly to create a console. See tools/run-with-console.ps1.

Graceful termination on Windows is a bit of a disaster zone.

@moroten
Copy link
Collaborator

moroten commented Aug 28, 2025

Something is not working properly. The Buildbarn deployments exits early and the Bazel build reports exit code 34, but still the Github Workflow succeeds.

@tomgr tomgr force-pushed the windows-integration-test branch from a529b11 to 5a916ae Compare August 28, 2025 20:07
@tomgr
Copy link
Contributor Author

tomgr commented Aug 28, 2025

Thanks for spotting that. I think there's two issues:

  1. conhost.exe doesn't propagate the exit code. I've worked around that by writing the exit code to a file.
  2. Buildbarn hadn't restarted by the time the second build started. I've added a sleep to let it start before re-executing bazel.

@tomgr
Copy link
Contributor Author

tomgr commented Aug 28, 2025

The exit code propagation now works correctly (I added a exit 1 at the end of the script on a branch just to test): https://github.com/tomgr/bb-deployments/actions/runs/17308199155/job/49136347413?pr=3

This uses the WinFSP-based VFS implementation.
@tomgr tomgr force-pushed the windows-integration-test branch from 5a916ae to 8822c72 Compare August 29, 2025 06:28
@moroten moroten merged commit fab139b into buildbarn:master Aug 29, 2025
2 checks passed
@moroten
Copy link
Collaborator

moroten commented Aug 29, 2025

@tomgr Thank you very much for your excellent work and this contribution!

@stagnation
Copy link
Collaborator

Hooray!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants