CI: Add native Windows VS2019 build
authorDaniel Stone <daniels@collabora.com>
Tue, 24 Mar 2020 11:11:36 +0000 (11:11 +0000)
committerDaniel Stone <daniels@collabora.com>
Fri, 27 Mar 2020 10:32:47 +0000 (10:32 +0000)
commit07885cbcdb0b19265379c3941600faadc8a22d71
treed4df0e4044fbe59fa5a0b03a812822da703afeb6
parentbc98de4d14f9c099e47a7de6efc3766823ca3f54
CI: Add native Windows VS2019 build

Adds a native build of Mesa using Meson with the Visual Studio 2019
toolchain on a Windows host.

Though Docker is supported on Windows, Docker-in-Docker is not possible,
nor are podman and skopeo available. We handle this by creating the
container from a shell-executor Windows machine, which gives us a native
PowerShell that we can execute Docker from. This attempts to do the same
copy-from-upstream-or-create-if-not-exists optimisation as the
ci-templates do for our Linux builds, albeit open-coded in PowerShell.

The Mesa build itself is executed inside a container, using Meson and
Ninja.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Jose Fonseca <jfonseca@vmware.com>
Acked-by: Brian Paul <brianp@vmware.com>
Acked-by: Eric Engestrom <eric@engestrom.ch>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4304>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4304>
.gitlab-ci.yml
.gitlab-ci/windows/Dockerfile [new file with mode: 0644]
.gitlab-ci/windows/README.md [new file with mode: 0644]
.gitlab-ci/windows/mesa_build.ps1 [new file with mode: 0644]
.gitlab-ci/windows/mesa_container.ps1 [new file with mode: 0644]
.gitlab-ci/windows/mesa_deps.ps1 [new file with mode: 0644]