From a067f35829f5db7b7b03d2ac1eed934820597a5c Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 3 Jun 2026 12:47:35 +0200 Subject: [PATCH v7.2.pe] Move more coverage from previously FreeBSD elsewhere The following testing aspects were previously (Cirrus CI) covered by the FreeBSD job. Since we currently (GitHub Actions) don't have FreeBSD support, we move these elsewhere for now: - RELCACHE_FORCE_RELEASE (moved to macOS) - ENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS (moved to macOS) - PG_TEST_INITDB_EXTRA_OPTS test reading/writing/copying of node trees as well as debug_parallel_query=regress (moved to macOS) - PG_TEST_PG_UPGRADE_MODE --link (moved to Linux 64-bit (macOS already tests --clone)) - meson test --setup running (moved to macOS) --- .github/workflows/pg-ci.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/.github/workflows/pg-ci.yml b/.github/workflows/pg-ci.yml index 8594d540f6a..f17ea8d4037 100644 --- a/.github/workflows/pg-ci.yml +++ b/.github/workflows/pg-ci.yml @@ -484,6 +484,7 @@ jobs: # Linux Meson, 64 bit # # SPECIAL: + # - Enables --link for pg_upgrade # - Uses address sanitizer, (sanitizer failures are typically printed in the # server log). We test asan with meson rather than autoconf, as it's a bit # faster at running the tests. @@ -502,6 +503,7 @@ jobs: - name: Update Environment env: SANITIZER_FLAGS: -fsanitize=address + PG_TEST_PG_UPGRADE_MODE: --link PG_TEST_INITDB_EXTRA_OPTS: -c io_method=io_uring run: *linux_update_config_cmd @@ -535,9 +537,11 @@ jobs: # SPECIAL: + # - Uses postgres specific CPPFLAGS that increase test coverage # - Enables --clone for pg_upgrade and pg_combinebackup # - 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 macos: name: macOS - Meson needs: [setup, sanity-check] @@ -574,6 +578,7 @@ jobs: CC: ccache cc CXX: ccache c++ + CPPFLAGS: -DRELCACHE_FORCE_RELEASE -DENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS CFLAGS: -Og -ggdb CXXFLAGS: -Og -ggdb PG_TEST_PG_UPGRADE_MODE: --clone @@ -663,6 +668,30 @@ jobs: ADDITIONAL_SETUP: ulimit -n 1024 run: *meson_test_world_cmd + - name: Test running + env: + # default is 256, pretty low + ADDITIONAL_SETUP: ulimit -n 1024 + run: &meson_test_running_cmd | + ${{case(runner.os == 'Windows', '', 'ulimit -c unlimited')}} + + ${{env.ADDITIONAL_SETUP}} + + meson test ${{env.MTEST_ARGS}} --quiet --suite setup --logbase setup + export DYLD_LIBRARY_PATH="$(pwd)/build/tmp_install/usr/local/pgsql/lib/:$DYLD_LIBRARY_PATH" + mkdir -p build/testrun + build/tmp_install/usr/local/pgsql/bin/initdb -N build/runningcheck --no-instructions -A trust + echo "include '$(pwd)/src/tools/ci/pg_ci_base.conf'" >> build/runningcheck/postgresql.conf + build/tmp_install/usr/local/pgsql/bin/pg_ctl -c -o '-c fsync=off' -D build/runningcheck -l build/testrun/runningcheck.log start + meson test ${{env.MTEST_ARGS}} --num-processes ${{env.TEST_JOBS}} --setup running + build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop + + # FIXME This was needed on Cirrus, not clear if still needed on GHA. + - name: Stop running server + if: failure() + run: | + build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop || true + - name: Core backtraces if: failure() && !cancelled() run: src/tools/ci/cores_backtrace.sh macos "$HOME/cores" base-commit: 273a3c77615e793089b2f41b666b6fcaa970a0c9 prerequisite-patch-id: 0a2de37807149c445a4cd80241a42ee3f5ea79a3 prerequisite-patch-id: fbb888f1b18b110d58732fc73dabd5d7260d3b95 prerequisite-patch-id: 771699edad2daa5f2d9104767c5558f9c972f273 -- 2.54.0