v7.2.pe-0001-Move-more-coverage-from-previously-FreeBSD-e.patch

text/plain

Filename: v7.2.pe-0001-Move-more-coverage-from-previously-FreeBSD-e.patch
Type: text/plain
Part: 0
Message: Re: Heads Up: cirrus-ci is shutting down June 1st

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: format-patch
Series: patch v7-0001
Subject: Move more coverage from previously FreeBSD elsewhere
File+
.github/workflows/pg-ci.yml 29 0
From a067f35829f5db7b7b03d2ac1eed934820597a5c Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
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