ci: Use windows VMs instead of windows containers

So far we have used containers for testing windows on cirrus-ci. Unfortunately
they come with substantial overhead: First, the container images are pulled
onto the host on-demand. Due to the large size of windows containers, that
ends up taking nearly 4 minutes. Secondly, IO is slow, leading to CI runs
taking long.

Thus switch to windows VMs, improving windows CI times by well over 2x.

Author: Nazir Bilal Yavuz <byavuz81@gmail.com>
Discussion: https://postgr.es/m/211afb88-6df6-b74d-f1b7-84b5f21ad875@gmail.com
Backpatch: 15-, where CI was added
This commit is contained in:
Andres Freund 2023-02-02 21:31:24 -08:00
parent 7ae0ab0ad9
commit 98811323c8

View file

@ -549,8 +549,10 @@ task:
depends_on: SanityCheck
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*windows.*'
windows_container:
image: $CONTAINER_REPO/windows_ci_vs_2019:latest
compute_engine_instance:
image_project: $IMAGE_PROJECT
image: family/pg-ci-windows-ci-vs-2019
platform: windows
cpu: $CPUS
memory: 4G
@ -589,8 +591,10 @@ task:
# otherwise it'll be sorted before other tasks
depends_on: SanityCheck
windows_container:
image: $CONTAINER_REPO/windows_ci_mingw64:latest
compute_engine_instance:
image_project: $IMAGE_PROJECT
image: family/pg-ci-windows-ci-mingw64
platform: windows
cpu: $CPUS
memory: 4G