enable and test minimal building on Windows
Building AutoKitteh requires running make, which is not supported natively on Windows. Windows users can run AutoKitteh in Docker today, but we want to remove that limitation.
Several options are described below. Are they reasonable?
- https://stackoverflow.com/questions/32127524/how-to-install-and-use-make-in-windows
- https://stackoverflow.com/questions/2532234/how-to-run-a-makefile-in-windows
However, our makefiles probably can't run as-is on Windows, because they use a few bash commands and *nix tools. But can they run with a reasonable amount of OS compatibility tweaks?
Alternatively, would it be easier/better/friendlier to write a separate batch/PowerShell script? Ideally not, because it would have to be maintained and tested separately, but that's a simple option if all else fails.
The scope of this issue is only these 2 commonly-used targets, as a Minimum Viable Product:
-
make bin(only builds the Go code) -
make ak(only builds the Go code and embeds the pre-built web UI)
FYI, our codebase also uses Buf-based gRPC, and we use several make targets in our GitHub CI for building, testing, and static analysis, but there's no need to make them compatible with Windows for now.
Bonus points / next steps:
-
make test -
make gofmt-check -
make lint -
make proto
What about Git Bash with MSYS/MinGW? I'm currently working on a large C++ project that uses CMake and Make, and it can compile on both Windows and Linux using the same script. Git Bash is fantastic!
@dolby360 looks like git bash is just a minimal set of tooling that can run on windows? if you can modify our makefiles to work only with that I would love to see it work.
@itayd compiling the project wasn't the issue I have to make just a few workarounds. (You can see here) But running the server is not straight forward. I'm still checking on it.