@@ -393,25 +393,36 @@ task:
393393 cores_script : src/tools/ci/cores_backtrace.sh macos "${HOME}/cores"
394394
395395
396- task :
397- name : Windows - Server 2019, VS 2019 - Meson & ninja
398-
396+ WINDOWS_ENVIRONMENT_BASE : &WINDOWS_ENVIRONMENT_BASE
399397 env :
400398 # Half the allowed per-user CPU cores
401399 CPUS : 4
402- TEST_JOBS : 8 # wild guess, data based value welcome
403400
404401 # The default cirrus working dir is in a directory msbuild complains about
405402 CIRRUS_WORKING_DIR : " c:/cirrus"
406- # Avoid re-installing over and over
407- NO_TEMP_INSTALL : 1
408403 # git's tar doesn't deal with drive letters, see
409404 # https://postgr.es/m/b6782dc3-a7b0-ed56-175f-f8f54cb08d67%40dunslane.net
410405 TAR : " c:/windows/system32/tar.exe"
411406 # Avoids port conflicts between concurrent tap test runs
412407 PG_TEST_USE_UNIX_SOCKETS : 1
413408 PG_REGRESS_SOCK_DIR : " c:/cirrus/"
414409
410+ sysinfo_script : |
411+ chcp
412+ systeminfo
413+ powershell -Command get-psdrive -psprovider filesystem
414+ set
415+
416+
417+ task :
418+ name : Windows - Server 2019, VS 2019 - Meson & ninja
419+ << : *WINDOWS_ENVIRONMENT_BASE
420+
421+ env :
422+ TEST_JOBS : 8 # wild guess, data based value welcome
423+ # Avoid re-installing over and over
424+ NO_TEMP_INSTALL : 1
425+
415426 # startcreate_script starts a postgres instance that we don't want to get
416427 # killed at the end of that script (it's stopped in stop_script). Can't
417428 # trivially use background_scripts because a) need pg_ctl's dropping of
@@ -435,19 +446,13 @@ task:
435446 cpu : $CPUS
436447 memory : 4G
437448
438- sysinfo_script : |
439- chcp
440- systeminfo
441- powershell -Command get-psdrive -psprovider filesystem
442- set
443-
444449 setup_additional_packages_script : |
445450 REM choco install -y --no-progress ...
446451
447452 # Use /DEBUG:FASTLINK to avoid high memory usage during linking
448453 configure_script : |
449454 vcvarsall x64
450- meson setup --backend ninja --buildtype debug -Dc_link_args=/DEBUG:FASTLINK -Dcassert=true -Db_pch=true -Dssl=openssl -Dextra_lib_dirs=c:\openssl\1.1\lib -Dextra_include_dirs=c:\openssl\1.1\include -DTAR=c:/windows/system32/tar.exe -DPG_TEST_EXTRA="%PG_TEST_EXTRA%" build
455+ meson setup --backend ninja --buildtype debug -Dc_link_args=/DEBUG:FASTLINK -Dcassert=true -Db_pch=true -Dssl=openssl -Dextra_lib_dirs=c:\openssl\1.1\lib -Dextra_include_dirs=c:\openssl\1.1\include -DTAR=%TAR% -DPG_TEST_EXTRA="%PG_TEST_EXTRA%" build
451456
452457 build_script : |
453458 vcvarsall x64
@@ -464,6 +469,66 @@ task:
464469 type : text/plain
465470
466471
472+ task :
473+ << : *WINDOWS_ENVIRONMENT_BASE
474+ name : Windows - Server 2019, MinGW64 - Meson
475+
476+ # due to resource constraints we don't run this task by default for now
477+ trigger_type : manual
478+ # worth using only_if despite being manual, otherwise this task will show up
479+ # when e.g. ci-os-only: linux is used.
480+ only_if : $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*mingw.*'
481+
482+ windows_container :
483+ image : $CONTAINER_REPO/windows_ci_mingw64:latest
484+ cpu : $CPUS
485+ memory : 4G
486+
487+ env :
488+ TEST_JOBS : 4 # higher concurrency causes occasional failures
489+ CCACHE_DIR : C:/msys64/ccache
490+ CCACHE_MAXSIZE : " 500M"
491+ CCACHE_SLOPPINESS : pch_defines,time_macros
492+ CCACHE_DEPEND : 1
493+ # for some reason mingw plpython cannot find it's installation without this
494+ PYTHONHOME : C:/msys64/ucrt64
495+ # prevents MSYS bash from resetting error mode
496+ MSYS : winjitdebug
497+ # Start bash in current working directory
498+ CHERE_INVOKING : 1
499+ BASH : C:\msys64\usr\bin\bash.exe -l
500+
501+ ccache_cache :
502+ folder : ${CCACHE_DIR}
503+
504+ setup_additional_packages_script : |
505+ REM C:\msys64\usr\bin\pacman.exe -S --noconfirm ...
506+
507+ mingw_info_script : |
508+ %BASH% -c "where gcc"
509+ %BASH% -c "gcc --version"
510+ %BASH% -c "where perl"
511+ %BASH% -c "perl --version"
512+
513+ # disable -Dnls as the number of files it creates cause a noticable slowdown
514+ configure_script : |
515+ %BASH% -c "meson setup -Ddebug=true -Doptimization=g -Dcassert=true -Db_pch=true -Dnls=disabled -DTAR=%TAR% build"
516+
517+ build_script : |
518+ %BASH% -c "ninja -C build"
519+
520+ upload_caches : ccache
521+
522+ test_world_script : |
523+ %BASH% -c "meson test %MTEST_ARGS% --num-processes %TEST_JOBS%"
524+
525+ on_failure :
526+ << : *on_failure_meson
527+ crashlog_artifacts :
528+ path : " crashlog-*.txt"
529+ type : text/plain
530+
531+
467532task :
468533 name : CompilerWarnings
469534
0 commit comments