• Home
Name Date Size #Lines LOC

..--

Dockerfile_buildD12-May-2024280 127

Dockerfile_testD12-May-2024101 85

Dockerfile_vsD12-May-20241.3 KiB3022

README.mdD12-May-20241.5 KiB3726

deqp_runner_run.ps1D12-May-20241.5 KiB3224

mesa_build.ps1D12-May-20242.4 KiB8564

mesa_container.ps1D12-May-20242 KiB5947

mesa_deps_build.ps1D12-May-20244.3 KiB131111

mesa_deps_choco.ps1D12-May-20242.7 KiB7458

mesa_deps_test.ps1D12-May-20244.2 KiB140116

mesa_deps_vs2019.ps1D12-May-20241.4 KiB3927

mesa_vs_init.ps1D12-May-2024680 126

piglit_run.ps1D12-May-20241.2 KiB2919

spirv2dxil_check.ps1D12-May-20242.4 KiB5547

spirv2dxil_run.ps1D12-May-2024483 1713

README.md

1# Native Windows GitLab CI builds
2
3Unlike Linux, Windows cannot reuse the freedesktop ci-templates as they exist
4as we do not have Podman, Skopeo, or even Docker-in-Docker builds available
5under Windows.
6
7We still reuse the same model: build a base container with the core operating
8system and infrequently-changed build dependencies, then execute Mesa builds
9only inside that base container. This is open-coded in PowerShell scripts.
10
11## Base container build
12
13The base container build job executes the `mesa_container.ps1` script which
14reproduces the ci-templates behaviour. It looks for the registry image in
15the user's namespace, and exits if found. If not found, it tries to copy
16the same image tag from the upstream Mesa repository. If that is not found,
17the image is rebuilt inside the user's namespace.
18
19The rebuild executes `docker build` which calls `mesa_deps.ps1` inside the
20container to fetch and install all build dependencies. This includes Visual
21Studio Community Edition (downloaded from Microsoft, under the license which
22allows use by open-source projects), other build tools from Chocolatey, and
23finally Meson and Python dependencies from PyPI.
24
25This job is executed inside a Windows shell environment directly inside the
26host, without Docker.
27
28## Mesa build
29
30The Mesa build runs inside the base container, executing `mesa_build.ps1`.
31This simply compiles Mesa using Meson and Ninja, executing the build and
32unit tests. Currently, no build artifacts are captured.
33
34## Using build scripts locally
35
36`*.ps1` scripts for building dockers are using PowerShell 7 to run
37