msys2 CI does host setup on each run
Each CI job runs test-msys2.sh
script which does a complete setup of the host.
- Install packages with pacman, hopefully that's fast when packages are already installed
- Install latest meson, that's going to break the CI sooner or later when meson does a broken release. It should at least pin on a version.
- Download lcov which means if github is down or they move files, our CI is down.
The VM should be configured once and each job should only run meson/ninja commands. test-msys2.sh
script should be kept as tool/documentation to generate new Windows runners, just like we have Dockerfile to generate new docker images. Would be nice to add some documentation as comment in test-msys2.sh
to know how to spawn a new VM in case current hosting is down, etc.
Also, IMO, it would be nice to have meson/ninja commands in the gitlab-ci.yml
file instead of in a separate script. That way all commands ran for each job are in one file, and extra scripts are for generating new docker/VM images. I don't know if that's possible. (for vs2017 too)
We should add a comment in gitlab-ci.yml
telling contact information for when we need to update e.g. meson version in the VM. Ideally we should give access to more glib developers for that, but I don't know if that's possible with current hosting.
Btw, are those VM using gitlab's VirtualBox feature that create a snapshot of the VM and run each job into a fresh VM?