9
9
GCP_PROJECT :pg-ci-images
10
10
IMAGE_PROJECT :$GCP_PROJECT
11
11
CONTAINER_REPO :us-docker.pkg.dev/${GCP_PROJECT}/ci
12
+ DISK_SIZE :25
12
13
13
14
# The lower depth accelerates git clone. Use a bit of depth so that
14
15
# concurrent tasks and retrying older jobs have a chance of working.
28
29
PG_TEST_EXTRA :kerberos ldap ssl load_balance
29
30
30
31
32
+ # Define how to run various types of tasks.
33
+
34
+ # VMs provided by cirrus-ci. Each user has a limited number of "free" credits
35
+ # for testing.
36
+ cirrus_community_vm_template :&cirrus_community_vm_template
37
+ compute_engine_instance :
38
+ image_project :$IMAGE_PROJECT
39
+ image :family/$IMAGE_FAMILY
40
+ platform :$PLATFORM
41
+ cpu :$CPUS
42
+ disk :$DISK_SIZE
43
+
44
+
45
+ default_linux_task_template :&linux_task_template
46
+ env :
47
+ PLATFORM :linux
48
+ << :*cirrus_community_vm_template
49
+
50
+
51
+ default_freebsd_task_template :&freebsd_task_template
52
+ env :
53
+ PLATFORM :freebsd
54
+ << :*cirrus_community_vm_template
55
+
56
+
57
+ default_windows_task_template :&windows_task_template
58
+ env :
59
+ PLATFORM :windows
60
+ << :*cirrus_community_vm_template
61
+
62
+
63
+ # macos workers provided by cirrus-ci
64
+ default_macos_task_template :&macos_task_template
65
+ env :
66
+ PLATFORM :macos
67
+ macos_instance :
68
+ image :$IMAGE
69
+
70
+
31
71
# What files to preserve in case tests fail
32
72
on_failure_ac :&on_failure_ac
33
73
log_artifacts :
@@ -136,21 +176,18 @@ task:
136
176
CPUS :2
137
177
BUILD_JOBS :3
138
178
TEST_JOBS :3
179
+ IMAGE_FAMILY :pg-ci-freebsd-13
180
+ DISK_SIZE :50
139
181
140
182
CCACHE_DIR :/tmp/ccache_dir
141
183
CPPFLAGS :-DRELCACHE_FORCE_RELEASE -DCOPY_PARSE_PLAN_TREES -DWRITE_READ_PARSE_PLAN_TREES -DRAW_EXPRESSION_COVERAGE_TEST -DENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS
142
184
CFLAGS :-Og -ggdb
143
185
186
+ << :*freebsd_task_template
187
+
144
188
depends_on :SanityCheck
145
189
only_if :$CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*freebsd.*'
146
190
147
- compute_engine_instance :
148
- image_project :$IMAGE_PROJECT
149
- image :family/pg-ci-freebsd-13
150
- platform :freebsd
151
- cpu :$CPUS
152
- disk :50
153
-
154
191
sysinfo_script :|
155
192
id
156
193
uname -a
@@ -250,6 +287,7 @@ task:
250
287
CPUS :4
251
288
BUILD_JOBS :4
252
289
TEST_JOBS :8 # experimentally derived to be a decent choice
290
+ IMAGE_FAMILY :pg-ci-bullseye
253
291
254
292
CCACHE_DIR :/tmp/ccache_dir
255
293
DEBUGINFOD_URLS :" https://debuginfod.debian.net"
@@ -282,15 +320,11 @@ task:
282
320
LINUX_CONFIGURE_FEATURES :*LINUX_CONFIGURE_FEATURES
283
321
LINUX_MESON_FEATURES :*LINUX_MESON_FEATURES
284
322
323
+ << :*linux_task_template
324
+
285
325
depends_on :SanityCheck
286
326
only_if :$CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*linux.*'
287
327
288
- compute_engine_instance :
289
- image_project :$IMAGE_PROJECT
290
- image :family/pg-ci-bullseye
291
- platform :linux
292
- cpu :$CPUS
293
-
294
328
ccache_cache :
295
329
folder :${CCACHE_DIR}
296
330
@@ -430,6 +464,7 @@ task:
430
464
# work OK. See
431
465
# https://postgr.es/m/20220927040208.l3shfcidovpzqxfh%40awork3.anarazel.de
432
466
TEST_JOBS :8
467
+ IMAGE :ghcr.io/cirruslabs/macos-ventura-base:latest
433
468
434
469
CIRRUS_WORKING_DIR :${HOME}/pgsql/
435
470
CCACHE_DIR :${HOME}/ccache
@@ -440,12 +475,11 @@ task:
440
475
CFLAGS :-Og -ggdb
441
476
CXXFLAGS :-Og -ggdb
442
477
478
+ << :*macos_task_template
479
+
443
480
depends_on :SanityCheck
444
481
only_if :$CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*(macos|darwin|osx).*'
445
482
446
- macos_instance :
447
- image :ghcr.io/cirruslabs/macos-ventura-base:latest
448
-
449
483
sysinfo_script :|
450
484
id
451
485
uname -a
@@ -524,6 +558,7 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE
524
558
# Avoids port conflicts between concurrent tap test runs
525
559
PG_TEST_USE_UNIX_SOCKETS :1
526
560
PG_REGRESS_SOCK_DIR :" c:/cirrus/"
561
+ DISK_SIZE :50
527
562
528
563
sysinfo_script :|
529
564
chcp
@@ -547,16 +582,13 @@ task:
547
582
# given that it explicitly prevents crash dumps from working...
548
583
# 0x8001 is SEM_FAILCRITICALERRORS | SEM_NOOPENFILEERRORBOX
549
584
CIRRUS_WINDOWS_ERROR_MODE :0x8001
585
+ IMAGE_FAMILY :pg-ci-windows-ci-vs-2019
586
+
587
+ << :*windows_task_template
550
588
551
589
depends_on :SanityCheck
552
590
only_if :$CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*windows.*'
553
591
554
- compute_engine_instance :
555
- image_project :$IMAGE_PROJECT
556
- image :family/pg-ci-windows-ci-vs-2019
557
- platform :windows
558
- cpu :$CPUS
559
-
560
592
setup_additional_packages_script :|
561
593
REM choco install -y --no-progress ...
562
594
@@ -598,12 +630,6 @@ task:
598
630
# otherwise it'll be sorted before other tasks
599
631
depends_on :SanityCheck
600
632
601
- compute_engine_instance :
602
- image_project :$IMAGE_PROJECT
603
- image :family/pg-ci-windows-ci-mingw64
604
- platform :windows
605
- cpu :$CPUS
606
-
607
633
env :
608
634
TEST_JOBS :4 # higher concurrency causes occasional failures
609
635
CCACHE_DIR :C:/msys64/ccache
@@ -617,6 +643,9 @@ task:
617
643
# Start bash in current working directory
618
644
CHERE_INVOKING :1
619
645
BASH :C:\msys64\usr\bin\bash.exe -l
646
+ IMAGE_FAMILY :pg-ci-windows-ci-mingw64
647
+
648
+ << :*windows_task_template
620
649
621
650
ccache_cache :
622
651
folder :${CCACHE_DIR}