GitHub Actions provide Windows environment with half of Unix installed on top. This is not exactly representative of an average Windows PC.
We should run CI tests in a more bare environment: just Python from python.org, some build of GNU Make for orchestration (choco?) and cmd.exe for shell. There should be no touch command, no /dev/null to write to, no sh.exe to fall back to... Code path for such environment will be significantly different to what we test now, and some new issues may be discovered.
One way to achieve this would be to use Docker Windows containers.
As with many things Windows, running Docker is annoying:
- Be prepared to waste 2GB of RAM on a Linux VM even if you intend to run zero Linux containers
- Windows container OS version must match host OS, say goodbye to reproducibility unless you're ready to spin up the same version of Windows Server GHA is currently using.
- Typical container size for Windows 10 is about 8GB. Nanoserver images exist, but they are not compatible with Windows 10.
Currently I have no patience for this obnoxious stuff. Leaving it here in case someone else is interested.
GitHub Actions provide Windows environment with half of Unix installed on top. This is not exactly representative of an average Windows PC.
We should run CI tests in a more bare environment: just Python from python.org, some build of GNU Make for orchestration (choco?) and cmd.exe for shell. There should be no
touchcommand, no/dev/nullto write to, nosh.exeto fall back to... Code path for such environment will be significantly different to what we test now, and some new issues may be discovered.One way to achieve this would be to use Docker Windows containers.
As with many things Windows, running Docker is annoying:
Currently I have no patience for this obnoxious stuff. Leaving it here in case someone else is interested.