I was studying the GiitLab CI process a bit and found that it is pretty easy to run the Linux CI tests locally on a dev machine (probably even a non-Linux one, as long as the processor matches) using gitlab-ci-local and Docker. Let me know if you try this and it doesn’t work, or if it can work on other OSes. It seems likely that the Windows tests could run locally if you had a Windows docker image available.
If my results are not a fluke, perhaps we can perhaps add this to DEVELOPERS.md and puit less load on the GItLab runner machines?
Replicating CI tests locally
You may be able to replicate Linux CI build tests on your development machine, using the gitlab-ci-local project and Docker. It is known to work for Linux CI jobs on a Linux host with the same processor, but probably works on Windows and maybe even on different processors with emulation.
To install gitlab-ci-local, see https://github.com/firecow/gitlab-ci-local for instructions for your machine. On Debian-based Linux machines (such as Ubuntu), installing via PPA seems to work best. Visit https://www.docker.com/products/docker-desktop/ to download and install Docker.
You may need to override certain variables to make it work, as it incorrectly guesses where to find machine images. You can add these variable definitions, to the config file, which defaults to
.gitlab-ci-local-variables.yml in the root of the project (same directory place as the .gitlab-ci.yml file)
CI_REGISTRY_IMAGE: "registry.gitlab.com/graphviz/graphviz"
CI_COMMIT_SHA: "latest"
Running
$ gitlab-ci-local ubuntu-24.04-cmake-ASan-build-and-test-including-ctest |& tee test.out
in the root of the checked-out repo runs build and tests in a pristine Ubuntu 24.04 container.