GitLab CI Windows POC
Please pick this issue up first before others. It is important.
GitLab CI has Windows shared runners we can use to add some automatic Windows testing to our stack. Since you cannot run Ansible directly on a Windows computer, we can use Docker to run a container that connects to the host over WinRM and provisions it like that. I have already laid out most of the logic. Hopefully, you can figure it out. I don't have good access to a Windows computer so I was holding off on it. Here's what we have so far:
The GitLab CI file is here: https://gitlab.com/megabyte-labs/ci/gitlab-ci-templates/-/blob/master/test/windows-ansible-test.gitlab-ci.yml (This installs Python, sets up WinRM with other files, and kicks off the Docker provisioning.)
Then, in this link you'll find supporting files: https://gitlab.com/megabyte-labs/ansible-roles/androidstudio/-/tree/master/tests
Brief description of the supporting files:
windows.ps1 - Utilized by the CI file to enable WinRM which is used on Windows since Windows doesn't easily support SSH inventory-windows - The inventory file used when running the test playbook test.yml - The test playbook test-windows.sh - This is the script that the docker command in the CI file should use to test and record the test scenario. You'll notice that a symlink is added to make it so that the test.yml can use the official Ansible Galaxy name. ansible.cfg - Might include settings required for WinRM to function properly
Once you get it working locally, feel free to test it out by merging changes directly to master. Be sure to save it on a seperate branch first though because this role is going through changes that might wipe work if it is not backed up.