Is there any Bazel Remote Cache Server that runs on Windows?
When I try to build https://github.com/buchgr/bazel-remote on Windows 10 I get some errors:
ERROR: C:/dev/bazel-remote/utils/rlimit/BUILD.bazel:3:11: GoCompilePkg utils/rlimit/go_default_library.a failed: (Exit 1): builder.exe failed: error executing command bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\external\go_sdk\builder.exe compilepkg -sdk external/go_sdk -installsuffix windows_amd64 -src utils/rlimit/rlimit_darwin.go -src utils/rlimit/rlimit_unix.go ... (remaining 22 arguments skipped)
utils\rlimit\rlimit_windows.go:9:9: undefined: __BAZEL_REMOTE_WINDOWS_BUILDS_ARE_NOT_SUPPORTED__
compilepkg: error running subcommand external\go_sdk\pkg\tool\windows_amd64\compile.exe: exit status 2
Target //:bazel-remote failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 23.998s, Critical Path: 1.47s
INFO: 9 processes: 8 internal, 1 local.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully
Unfortunately, also Docker does not work on the machine where my Windows 10 is running.
There are at least a couple options;
Use bazel's built in --disk_cache. If you create a remote windows shared folder and the point Bazel's --disk_cache
feature at it you can pretty quickly create a remote cache. It also means that you can share that folder/cache between multiple users relatively easily. The disk cache option is also nice as it forces Bazel to keep (rather than discard) the analysis case between branches etc.
Use bazelbuild/bazel-buildfarm. This one is a little more advanced and involves orchestrating a set of workers/servers. These workers/servers can be heterogenous, for example you can do remote execution and caching from a windows machine to target a macOS or a Linux worker. Last time I checked you can disable the remote execution option and just use the caching/CAS if you so choose.