Windows Container Executor
Please check https://gitlab.com/groups/gitlab-org/-/epics/535 as a single source of truth for progress and roadmap of windows container exectutor.
## Description
> Create a new executor for Windows Containers.
## Proposal
There are enough significant differences between the Linux Docker daemon and the Windows Docker daemon that it makes sense to develop Windows support as a separate executor to provide the same native Docker functionality of the existing `docker` executor.
## Links to related issues and merge requests / references
~~This is a list of issues I've identified so far and started tracking in my [personal fork](https://gitlab.com/cdhunt/gitlab-ci-multi-runner).~~
* [ ] [Create/Publish prebuilt image(s) to Docker Hub](https://gitlab.com/gitlab-org/gitlab-runner/issues/3755)
* [] [Update getPrebuiltImage() to find Windows Image](https://gitlab.com/gitlab-org/gitlab-runner/issues/3895)
* [x] [Validate apps/gitlab-runner-helper builds for Windows](https://gitlab.com/cdhunt/gitlab-ci-multi-runner/issues/3)
* [ ] [Update init() in executor_docker_command to support configurable shell](https://gitlab.com/gitlab-org/gitlab-runner/issues/3896)
* [x] [Change Docker API version to 1.24](https://gitlab.com/gitlab-org/gitlab-runner/issues/3488)
* [ ] [Update parseDeviceString() in docker_executor.go to support Windows volume mapping syntax](https://gitlab.com/cdhunt/gitlab-ci-multi-runner/issues/6)
* [x] [Set PassFile property to false for PowerShell](https://gitlab.com/cdhunt/gitlab-ci-multi-runner/issues/7)
* [x] [Rename executor_* files in windows_docker package](https://gitlab.com/cdhunt/gitlab-ci-multi-runner/issues/8)
* [ ] Refactor getPrebuiltImage() to pull from Docker Hub or use configuration define local image
* [ ] Create unit tests
* [ ] Create integration tests
* [ ] Create necessary jobs in `.gitlab-ci.yml`
* [ ] [Handle missing prebuilt image gracefully](https://gitlab.com/cdhunt/gitlab-ci-multi-runner/commit/e4ecf15cc576f0b5e6d424dd9d50a66c12a70b1a#9d0d6129906afb7dee34e5c529ccd00d70acf998_258_231)
* [ ] [Determine if we need to replace gitlab-runner-cache](https://gitlab.com/cdhunt/gitlab-ci-multi-runner/commit/e4ecf15cc576f0b5e6d424dd9d50a66c12a70b1a#9d0d6129906afb7dee34e5c529ccd00d70acf998_301_276)
* [ ] [Do we need to replace gitlab-runner-build with something?](https://gitlab.com/cdhunt/gitlab-ci-multi-runner/commit/e4ecf15cc576f0b5e6d424dd9d50a66c12a70b1a#705265d0bc5444f1eb6c13fbc7de6b98904adc3c_42_43)
* [ ] [Wonkiness in Powershell script execution](https://gitlab.com/cdhunt/gitlab-ci-multi-runner/commit/e4ecf15cc576f0b5e6d424dd9d50a66c12a70b1a#705265d0bc5444f1eb6c13fbc7de6b98904adc3c_66_68)
#1775 - Additional context
issue