@@ -393,25 +393,36 @@ task:
393
393
cores_script : src/tools/ci/cores_backtrace.sh macos "${HOME}/cores"
394
394
395
395
396
- task :
397
- name : Windows - Server 2019, VS 2019 - Meson & ninja
398
-
396
+ WINDOWS_ENVIRONMENT_BASE : &WINDOWS_ENVIRONMENT_BASE
399
397
env :
400
398
# Half the allowed per-user CPU cores
401
399
CPUS : 4
402
- TEST_JOBS : 8 # wild guess, data based value welcome
403
400
404
401
# The default cirrus working dir is in a directory msbuild complains about
405
402
CIRRUS_WORKING_DIR : " c:/cirrus"
406
- # Avoid re-installing over and over
407
- NO_TEMP_INSTALL : 1
408
403
# git's tar doesn't deal with drive letters, see
409
404
# https://postgr.es/m/b6782dc3-a7b0-ed56-175f-f8f54cb08d67%40dunslane.net
410
405
TAR : " c:/windows/system32/tar.exe"
411
406
# Avoids port conflicts between concurrent tap test runs
412
407
PG_TEST_USE_UNIX_SOCKETS : 1
413
408
PG_REGRESS_SOCK_DIR : " c:/cirrus/"
414
409
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
+
415
426
# startcreate_script starts a postgres instance that we don't want to get
416
427
# killed at the end of that script (it's stopped in stop_script). Can't
417
428
# trivially use background_scripts because a) need pg_ctl's dropping of
@@ -435,19 +446,13 @@ task:
435
446
cpu : $CPUS
436
447
memory : 4G
437
448
438
- sysinfo_script : |
439
- chcp
440
- systeminfo
441
- powershell -Command get-psdrive -psprovider filesystem
442
- set
443
-
444
449
setup_additional_packages_script : |
445
450
REM choco install -y --no-progress ...
446
451
447
452
# Use /DEBUG:FASTLINK to avoid high memory usage during linking
448
453
configure_script : |
449
454
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
451
456
452
457
build_script : |
453
458
vcvarsall x64
@@ -464,6 +469,66 @@ task:
464
469
type : text/plain
465
470
466
471
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
+
467
532
task :
468
533
name : CompilerWarnings
469
534
0 commit comments