cores_script: src/tools/ci/cores_backtrace.sh freebsd /tmp/cores
+task:
+ depends_on: SanityCheck
+ trigger_type: manual
+
+ env:
+ # Below are experimentally derived to be a decent choice.
+ CPUS: 4
+ BUILD_JOBS: 8
+ TEST_JOBS: 8
+
+ # Default working directory is /tmp, but its total size (1.2 GB) is not
+ # enough, so different working and cache directory are set.
+ CIRRUS_WORKING_DIR: /home/postgres/postgres
+ CCACHE_DIR: /home/postgres/cache
+
+ PATH: /usr/sbin:$PATH
+
+ matrix:
+ - name: NetBSD - Meson
+ only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*netbsd.*'
+ env:
+ IMAGE_FAMILY: pg-ci-netbsd-postgres
+ PKGCONFIG_PATH: '/usr/lib/pkgconfig:/usr/pkg/lib/pkgconfig'
+ # initdb fails with: 'invalid locale settings' error on NetBSD.
+ # Force 'LANG' and 'LC_*' variables to be 'C'.
+ # See https://postgr.es/m/2490325.1734471752%40sss.pgh.pa.us
+ LANG: "C"
+ LC_ALL: "C"
+ # -Duuid is not set for the NetBSD, see the comment below, above
+ # configure_script, for more information.
+ setup_additional_packages_script: |
+ #pkgin -y install ...
+ <<: *netbsd_task_template
+
+ - name: OpenBSD - Meson
+ only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*openbsd.*'
+ env:
+ IMAGE_FAMILY: pg-ci-openbsd-postgres
+ PKGCONFIG_PATH: '/usr/lib/pkgconfig:/usr/local/lib/pkgconfig'
+ UUID: -Duuid=e2fs
+ TCL: -Dtcl_version=tcl86
+ setup_additional_packages_script: |
+ #pkg_add -I ...
+ <<: *openbsd_task_template
+
+ sysinfo_script: |
+ locale
+ id
+ uname -a
+ ulimit -a -H && ulimit -a -S
+ env
+
+ ccache_cache:
+ folder: $CCACHE_DIR
+
+ create_user_script: |
+ useradd postgres
+ chown -R postgres:users /home/postgres
+ mkdir -p ${CCACHE_DIR}
+ chown -R postgres:users ${CCACHE_DIR}
+
+ # -Duuid=bsd is not set since 'bsd' uuid option
+ # is not working on NetBSD & OpenBSD. See
+ # And other uuid options are not available on NetBSD.
+ configure_script: |
+ su postgres <<-EOF
+ meson setup \
+ --buildtype=debugoptimized \
+ --pkg-config-path ${PKGCONFIG_PATH} \
+ -Dcassert=true -Dinjection_points=true \
+ -Dssl=openssl ${UUID} ${TCL} \
+ -DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
+ build
+ EOF
+
+ build_script: su postgres -c 'ninja -C build -j${BUILD_JOBS}'
+ upload_caches: ccache
+
+ test_world_script: |
+ su postgres <<-EOF
+ ulimit -c unlimited
+ # Otherwise tests will fail on OpenBSD, due to inability to start enough
+ # processes.
+ ulimit -p 256
+ meson test $MTEST_ARGS --num-processes ${TEST_JOBS}
+ EOF
+
+ on_failure:
+ <<: *on_failure_meson
+
+
# configure feature flags, shared between the task running the linux tests and
# the CompilerWarnings task
LINUX_CONFIGURE_FEATURES: &LINUX_CONFIGURE_FEATURES >-