Use windows VMs instead of windows containers on the CI

Nazir Bilal Yavuz <byavuz81@gmail.com>

From: Nazir Bilal Yavuz <byavuz81@gmail.com>
To: pgsql-hackers@postgresql.org
Cc: Andres Freund <andres@anarazel.de>
Date: 2023-01-10T12:20:18Z
Lists: pgsql-hackers

Attachments

Hi,

I propose using windows VMs instead of containers, the patch is 
attached. Currently, windows containers are used on the CI, but these 
container images are needs to get pulled on every CI run, also they are 
slow to run.

These VM images are created in the same way how container images are 
created [1].

The comparison between VMs and containers are (based on d952373a98 and 
with same numbers of CPU and memory):

Scheduling step:


	VS 2019
	MinGW64
VM [2]
	00:17m
	00:16m
Container [3]
	03:51m 	04:28m

Execution step:


	VS 2019
	MinGW64
VM [2]
	12:16m
	07.55m
Container [3]
	26:02m 	16:34m

There is more than 2x speed gain when VMs are used.

[1] 
https://github.com/anarazel/pg-vm-images/blob/main/packer/windows.pkr.hcl
[2] https://cirrus-ci.com/build/4720774045499392
[3] https://cirrus-ci.com/build/5468256027279360

Regards,
Nazir Bilal Yavuz
Microsoft

Commits

  1. ci: Use windows VMs instead of windows containers