#
# For instructions on how to enable the CI integration in a repository and
# further details, see src/tools/ci/README
+#
+#
+# NB: Different tasks intentionally test with different, non-default,
+# configurations, to increase the chance of catching problems. Each task with
+# non-obvious non-default documents their oddity at the top of the task,
+# prefixed by "SPECIAL:".
env:
# To avoid unnecessarily spinning up a lot of VMs / containers for entirely
# broken commits, have a minimal task that all others depend on.
+#
+# SPECIAL:
+# - Builds with --auto-features=disabled and thus almost no enabled
+# dependencies
task:
name: SanityCheck
src/tools/ci/cores_backtrace.sh linux /tmp/cores
+# SPECIAL:
+# - Uses postgres specific CPPFLAGS that increase test coverage
+# - Specifies configuration options that test reading/writing/copying of node trees
+# - Specifies debug_parallel_query=regress, to catch related issues during CI
+# - Also runs tests against a running postgres instance, see test_running_script
task:
name: FreeBSD - Meson
-Duuid=e2fs
+# Check SPECIAL in the matrix: below
task:
env:
CPUS: 4
libcurl4-openssl-dev:i386 \
matrix:
+ # SPECIAL:
+ # - Uses address sanitizer, sanitizer failures are typically printed in
+ # the server log
+ # - Configures postgres with a small segment size
- name: Linux - Debian Bookworm - Autoconf
env:
on_failure:
<<: *on_failure_ac
+ # SPECIAL:
+ # - Uses undefined behaviour and alignment sanitizers, sanitizer failures
+ # are typically printed in the server log
+ # - Test both 64bit and 32 bit builds
- name: Linux - Debian Bookworm - Meson
env:
cores_script: src/tools/ci/cores_backtrace.sh linux /tmp/cores
+# NB: macOS is by far the most expensive OS to run CI for, therefore no
+# expensive additional checks should be added.
+#
+# SPECIAL:
+# - Enables --clone for pg_upgrade and pg_combinebackup
task:
name: macOS - Sonoma - Meson