[SCM] PostGIS branch master updated. 3.7.0alpha1-601-geda544325

git at osgeo.org git at osgeo.org
Sat Jul 18 12:41:45 PDT 2026


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "PostGIS".

The branch, master has been updated
       via  eda5443251a236dcbcc4e8caef70ef837ba2f518 (commit)
       via  50ddba709a42fec8cab383196b1a767e293b20e7 (commit)
       via  fa316a13e21e84d0dc4d4f15f45e9a47af9832c2 (commit)
       via  7ec541afed4cdb08820f01ddc4d9cfc68c4c3855 (commit)
      from  b1f92a1ac5b2c57e32cea783d2934ffe7c0866f6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit eda5443251a236dcbcc4e8caef70ef837ba2f518
Merge: b1f92a1ac 50ddba709
Author: Darafei Praliaskouski <komzpa at gmail.com>
Date:   Sat Jul 18 12:41:44 2026 -0700

    Merge pull request 'ci: make CI jobs self-contained' (!367) from Komzpa/postgis:fix/jenkins-env-preflight into master
    
    Reviewed-on: https://gitea.osgeo.org/postgis/postgis/pulls/367


commit 50ddba709a42fec8cab383196b1a767e293b20e7
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Sat Jul 18 22:46:34 2026 +0400

    ci: speed up disposable PostgreSQL clusters
    
    Disable durability work and PostgreSQL 18 data checksums in the throwaway documentation clusters.

diff --git a/.woodpecker/docs.yml b/.woodpecker/docs.yml
index 9943e69a4..b71ffae6b 100644
--- a/.woodpecker/docs.yml
+++ b/.woodpecker/docs.yml
@@ -55,8 +55,12 @@ steps:
       - chown postgres:postgres "$${PGROOT}"
       - export PGDATA="$${PGROOT}/data" PGHOST="$${PGROOT}/socket" PGUSER=postgres
       - runuser -u postgres -- mkdir "$${PGDATA}" "$${PGHOST}"
-      - runuser -u postgres -- initdb -D "$${PGDATA}" -A trust --no-sync
-      - runuser -u postgres -- pg_ctl -D "$${PGDATA}" -l "$${PGROOT}/postgresql.log" -o "-F -h '' -k $${PGHOST}" -w start
+      - runuser -u postgres -- initdb -D "$${PGDATA}" -A trust --no-sync --no-data-checksums
+      - >-
+        runuser -u postgres -- pg_ctl -D "$${PGDATA}"
+        -l "$${PGROOT}/postgresql.log"
+        -o "-F -h '' -k $${PGHOST} -c synchronous_commit=off -c full_page_writes=off"
+        -w start
       - trap 'runuser -u postgres -- pg_ctl -D "$${PGDATA}" -m fast -w stop || true' EXIT
       - make -C build-docs/regress visual-examples
 
diff --git a/ci/debbie/postgis_release_docs.sh b/ci/debbie/postgis_release_docs.sh
index 716934224..bd75bb2ed 100644
--- a/ci/debbie/postgis_release_docs.sh
+++ b/ci/debbie/postgis_release_docs.sh
@@ -42,15 +42,21 @@ start_release_docs_pg()
   release_docs_pghost="${release_docs_tmpdir}/socket"
   mkdir "${release_docs_pghost}"
 
-  "${PGPATH}/bin/initdb" -D "${release_docs_pgdata}" -A trust --no-sync
+  release_docs_initdb_options=(-D "${release_docs_pgdata}" -A trust --no-sync)
+  if "${PGPATH}/bin/initdb" --help | grep -q -- '--no-data-checksums'; then
+    release_docs_initdb_options+=(--no-data-checksums)
+  fi
+  "${PGPATH}/bin/initdb" "${release_docs_initdb_options[@]}"
   export PGHOST="${release_docs_pghost}"
   export PGPORT="${PGPORT:-8447}"
   PGUSER=$(id -un)
   export PGUSER
+  release_docs_pgopts="-F -h '' -k ${PGHOST} -p ${PGPORT}"
+  release_docs_pgopts="${release_docs_pgopts} -c synchronous_commit=off -c full_page_writes=off"
   "${PGPATH}/bin/pg_ctl" \
     -D "${release_docs_pgdata}" \
     -l "${release_docs_tmpdir}/postgresql.log" \
-    -o "-F -h '' -k ${PGHOST} -p ${PGPORT}" \
+    -o "${release_docs_pgopts}" \
     -w start
 }
 

commit fa316a13e21e84d0dc4d4f15f45e9a47af9832c2
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Sat Jul 18 22:43:50 2026 +0400

    ci: isolate the docs PostgreSQL cluster
    
    Initialize a fresh private cluster for visual-example rendering instead of starting the image's stale system data directory.

diff --git a/.woodpecker/docs.yml b/.woodpecker/docs.yml
index ab95f5e5e..9943e69a4 100644
--- a/.woodpecker/docs.yml
+++ b/.woodpecker/docs.yml
@@ -51,7 +51,13 @@ steps:
     depends_on: prepare
     commands:
       - export PATH=/usr/lib/postgresql/18/bin:$${PATH}
-      - service postgresql start 18
+      - export PGROOT=$$(mktemp -d)
+      - chown postgres:postgres "$${PGROOT}"
+      - export PGDATA="$${PGROOT}/data" PGHOST="$${PGROOT}/socket" PGUSER=postgres
+      - runuser -u postgres -- mkdir "$${PGDATA}" "$${PGHOST}"
+      - runuser -u postgres -- initdb -D "$${PGDATA}" -A trust --no-sync
+      - runuser -u postgres -- pg_ctl -D "$${PGDATA}" -l "$${PGROOT}/postgresql.log" -o "-F -h '' -k $${PGHOST}" -w start
+      - trap 'runuser -u postgres -- pg_ctl -D "$${PGDATA}" -m fast -w stop || true' EXIT
       - make -C build-docs/regress visual-examples
 
   check-xml:

commit 7ec541afed4cdb08820f01ddc4d9cfc68c4c3855
Author: Darafei Praliaskouski <me at komzpa.net>
Date:   Sat Jul 18 22:34:07 2026 +0400

    ci: prepare Jenkins runtime prerequisites
    
    Create configured temporary directories on Winnie, give the release-doc job a private PostgreSQL cluster for visual examples, and skip Berrie64's optional PROJ-grid preflight while retaining runnable garden examples.

diff --git a/ci/berrie64/postgis_regress.sh b/ci/berrie64/postgis_regress.sh
index 35221bb3d..01227c641 100644
--- a/ci/berrie64/postgis_regress.sh
+++ b/ci/berrie64/postgis_regress.sh
@@ -25,7 +25,10 @@ make install
 make check RUNTESTFLAGS="-v --extension"
 err_status=$?
 
-make garden
+# Optional PROJ grids are not installed on this worker. Grid-dependent manual
+# examples are marked requires-external-state, so run the remaining examples
+# without the global optional-grid preflight.
+make garden EXAMPLETEST_CHECK_ENVIRONMENT=no
 err_status=$?
 
 utils/check_all_upgrades.sh \
diff --git a/ci/debbie/postgis_release_docs.sh b/ci/debbie/postgis_release_docs.sh
index f6ced7dad..716934224 100644
--- a/ci/debbie/postgis_release_docs.sh
+++ b/ci/debbie/postgis_release_docs.sh
@@ -15,6 +15,47 @@ export PGPATH=${PROJECTS}/pg/rel/pg${PG_VER}w${OS_BUILD}
 export PATH="${PGPATH}/bin:$PATH"
 export LD_LIBRARY_PATH="${PROJECTS}/gdal/rel-${GDAL_VER}w${OS_BUILD}/lib:${PROJECTS}/geos/rel-${GEOS_VER}w${OS_BUILD}/lib:${PGPATH}/lib"
 
+release_docs_tmpdir=
+release_docs_pgdata=
+
+cleanup_release_docs_pg()
+{
+  status=$?
+  if test "${status}" -ne 0 && test -n "${release_docs_tmpdir}" && test -f "${release_docs_tmpdir}/postgresql.log"; then
+    tail -n 100 "${release_docs_tmpdir}/postgresql.log"
+  fi
+  if test -n "${release_docs_pgdata}" && test -f "${release_docs_pgdata}/postmaster.pid"; then
+    "${PGPATH}/bin/pg_ctl" -D "${release_docs_pgdata}" -m fast -w stop || true
+  fi
+  if test -n "${release_docs_tmpdir}"; then
+    rm -rf -- "${release_docs_tmpdir}"
+  fi
+  return "${status}"
+}
+
+start_release_docs_pg()
+{
+  tmp_root=${TMPDIR:-/tmp}
+  mkdir -p "${tmp_root}"
+  release_docs_tmpdir=$(mktemp -d "${tmp_root}/postgis-release-docs.XXXXXX")
+  release_docs_pgdata="${release_docs_tmpdir}/data"
+  release_docs_pghost="${release_docs_tmpdir}/socket"
+  mkdir "${release_docs_pghost}"
+
+  "${PGPATH}/bin/initdb" -D "${release_docs_pgdata}" -A trust --no-sync
+  export PGHOST="${release_docs_pghost}"
+  export PGPORT="${PGPORT:-8447}"
+  PGUSER=$(id -un)
+  export PGUSER
+  "${PGPATH}/bin/pg_ctl" \
+    -D "${release_docs_pgdata}" \
+    -l "${release_docs_tmpdir}/postgresql.log" \
+    -o "-F -h '' -k ${PGHOST} -p ${PGPORT}" \
+    -w start
+}
+
+trap cleanup_release_docs_pg EXIT
+
 ./autogen.sh
 
 
@@ -48,6 +89,11 @@ LDFLAGS="-L${PGPATH}/lib"  ./configure \
   --docdir ${STUFF_DIR}
 make clean
 
+# The rendered manual now builds visual examples through a temporary PostGIS
+# database.  The distribution job does not otherwise require a running server,
+# so keep this database private to the documentation build.
+start_release_docs_pg
+
 # generating postgis_revision.h in case hasn't been generated
 if test -f utils/repo_revision.pl; then
 	echo "Generating postgis_revision.h"
diff --git a/ci/winnie/regress_postgis.sh b/ci/winnie/regress_postgis.sh
index deba4fdb1..ea5777631 100644
--- a/ci/winnie/regress_postgis.sh
+++ b/ci/winnie/regress_postgis.sh
@@ -38,14 +38,12 @@ export RELVERDIR=postgis-pg${REL_PGVER}-binaries-${POSTGIS_MICRO_VER}w${OS_BUILD
 echo PATH AFTER: $PATH
 
 echo WORKSPACE IS $WORKSPACE
-#mkdir ${PROJECTS}/postgis/tmp
-#export PGIS_REG_TMPDIR=${PROJECTS}/postgis/tmp/${POSTGIS_MICRO_VER}_pg${PG_VER}_geos${GEOS_VER}_gdal${GDAL_VER}w${OS_BUILD}
-#rm -rf ${PGIS_REG_TMPDIR}
-#mkdir ${PGIS_REG_TMPDIR}
-#export TMPDIR=${PGIS_REG_TMPDIR}
-
-#rm -rf ${PGIS_REG_TMPDIR}
-#TMPDIR=${PROJECTS}/postgis/tmp/${POSTGIS_VER}_${PG_VER}_${GEOS_VERSION}_${PROJ_VER}
+if [ -z "${PGIS_REG_TMPDIR:-}" ]; then
+	PGIS_REG_TMPDIR=${PROJECTS}/postgis/tmp/${POSTGIS_MICRO_VER}_pg${PG_VER}_geos${GEOS_VER}_gdal${GDAL_VER}w${OS_BUILD}
+fi
+mkdir -p "${PGIS_REG_TMPDIR}"
+export PGIS_REG_TMPDIR
+export TMPDIR="${PGIS_REG_TMPDIR}"
 echo PORT IS $PGPORT
 echo PGIS_REG_TMPDIR IS $PGIS_REG_TMPDIR
 export XSLTPROCFLAGS=

-----------------------------------------------------------------------

Summary of changes:
 .woodpecker/docs.yml              | 12 ++++++++-
 ci/berrie64/postgis_regress.sh    |  5 +++-
 ci/debbie/postgis_release_docs.sh | 52 +++++++++++++++++++++++++++++++++++++++
 ci/winnie/regress_postgis.sh      | 14 +++++------
 4 files changed, 73 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
PostGIS


More information about the postgis-tickets mailing list