• Home
Name Date Size #Lines LOC

..--

DockerfileD12-May-2024346 149

README.mdD12-May-20241.4 KiB3324

mesa_build.ps1D12-May-20241.4 KiB2518

mesa_container.ps1D12-May-20241.9 KiB5745

mesa_deps.ps1D12-May-20247.8 KiB206167

mesa_deps_vs2019.ps1D12-May-20241 KiB1913

piglit_run.ps1D12-May-20241.2 KiB2919

quick_gl.txtD12-May-2024324.6 KiB4,7654,764

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