From 0d956bea71ab9cc83510f2103f1c659f005f9c73 Mon Sep 17 00:00:00 2001 From: Alexey Masterov Date: Thu, 24 Apr 2025 17:02:19 +0200 Subject: [PATCH] Add more support --- compute/compute-node.Dockerfile | 3 ++- compute/patches/postgis_pg17.patch | 14 ++++++++++++++ docker-compose/compute_wrapper/Dockerfile | 2 +- docker-compose/docker-compose.yml | 2 +- docker-compose/docker_compose_test.sh | 9 +++++++++ docker-compose/ext-src/postgis-src/neon-test.sh | 4 ++++ 6 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 compute/patches/postgis_pg17.patch create mode 100755 docker-compose/ext-src/postgis-src/neon-test.sh diff --git a/compute/compute-node.Dockerfile b/compute/compute-node.Dockerfile index 1ec48cd7be..8661ac78ed 100644 --- a/compute/compute-node.Dockerfile +++ b/compute/compute-node.Dockerfile @@ -258,6 +258,7 @@ RUN case "${DEBIAN_VERSION}" in \ # Postgis 3.5.0 supports v17 WORKDIR /ext-src +COPY compute/patches/postgis_pg${PG_VERSION}.patc? /ext-src RUN case "${PG_VERSION:?}" in \ "v17") \ export POSTGIS_VERSION=3.5.0 \ @@ -273,7 +274,7 @@ RUN case "${PG_VERSION:?}" in \ esac && \ wget https://download.osgeo.org/postgis/source/postgis-${POSTGIS_VERSION}.tar.gz -O postgis.tar.gz && \ echo "${POSTGIS_CHECKSUM} postgis.tar.gz" | sha256sum --check && \ - mkdir postgis-src && cd postgis-src && tar xzf ../postgis.tar.gz --strip-components=1 -C . + mkdir postgis-src && cd postgis-src && tar xzf ../postgis.tar.gz --strip-components=1 -C . && [ -f ../postgis_pg${PG_VERSION}.patch ] && patch -p1 <../postgis_pg${PG_VERSION}.patch # This is reused for pgrouting FROM pg-build AS postgis-build-deps diff --git a/compute/patches/postgis_pg17.patch b/compute/patches/postgis_pg17.patch new file mode 100644 index 0000000000..d3f0455f06 --- /dev/null +++ b/compute/patches/postgis_pg17.patch @@ -0,0 +1,14 @@ +diff --git a/regress/core/tests.mk.in b/regress/core/tests.mk.in +index 3dd65b9..2735398 100644 +--- a/regress/core/tests.mk.in ++++ b/regress/core/tests.mk.in +@@ -143,8 +143,7 @@ TESTS += \ + $(top_srcdir)/regress/core/oriented_envelope \ + $(top_srcdir)/regress/core/point_coordinates \ + $(top_srcdir)/regress/core/out_geojson \ +- $(top_srcdir)/regress/core/wrapx \ +- $(top_srcdir)/regress/core/computed_columns ++ $(top_srcdir)/regress/core/wrapx + + # Slow slow tests + TESTS_SLOW = \ diff --git a/docker-compose/compute_wrapper/Dockerfile b/docker-compose/compute_wrapper/Dockerfile index 9ef831a9cd..0943cb13b7 100644 --- a/docker-compose/compute_wrapper/Dockerfile +++ b/docker-compose/compute_wrapper/Dockerfile @@ -13,6 +13,6 @@ RUN echo 'Acquire::Retries "5";' > /etc/apt/apt.conf.d/80-retries && \ jq \ netcat-openbsd #This is required for the pg_hintplan test -RUN mkdir -p /ext-src/pg_hint_plan-src /postgres/contrib/file_fdw && chown postgres /ext-src/pg_hint_plan-src /postgres/contrib/file_fdw +RUN mkdir -p /ext-src/pg_hint_plan-src /postgres/contrib/file_fdw /ext-src/postgis-src/raster/test/regress && chown postgres /ext-src/pg_hint_plan-src /postgres/contrib/file_fdw /ext-src/postgis-src/raster/test/regress USER postgres diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index e7bbf612f7..db24413c7d 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -193,6 +193,6 @@ services: - "/bin/bash" - "-c" command: - - sleep 18000 + - sleep 180000 depends_on: - compute diff --git a/docker-compose/docker_compose_test.sh b/docker-compose/docker_compose_test.sh index 86aa86d4ec..9cc6c99b0d 100755 --- a/docker-compose/docker_compose_test.sh +++ b/docker-compose/docker_compose_test.sh @@ -55,6 +55,15 @@ for pg_version in ${TEST_VERSION_ONLY-14 15 16 17}; do # It cannot be moved to Dockerfile now because the database directory is created after the start of the container echo Adding dummy config docker exec $COMPUTE_CONTAINER_NAME touch /var/db/postgres/compute/compute_ctl_temp_override.conf + # Prepare for the PostGIS test + docker exec $COMPUTE_CONTAINER_NAME mkdir -p /tmp/pgis_reg/pgis_reg_tmp + TMPDIR=$(mktemp -d) + docker cp $TEST_CONTAINER_NAME:/ext-src/postgis-src/raster/test $TMPDIR + docker cp $TEST_CONTAINER_NAME:/ext-src/postgis-src/regress/00-regress-install $TMPDIR + docker exec $COMPUTE_CONTAINER_NAME mkdir -p /ext-src/postgis-src/raster /ext-src/postgis-src/regress /ext-src/postgis-src/regress/00-regress-install + docker cp $TMPDIR/test $COMPUTE_CONTAINER_NAME:/ext-src/postgis-src/raster/test + docker cp $TMPDIR/00-regress-install $COMPUTE_CONTAINER_NAME:/ext-src/postgis-src/regress + rm -rf $TMPDIR # The following block copies the files for the pg_hintplan test to the compute node for the extension test in an isolated docker-compose environment TMPDIR=$(mktemp -d) docker cp $TEST_CONTAINER_NAME:/ext-src/pg_hint_plan-src/data $TMPDIR/data diff --git a/docker-compose/ext-src/postgis-src/neon-test.sh b/docker-compose/ext-src/postgis-src/neon-test.sh new file mode 100755 index 0000000000..e1f554c556 --- /dev/null +++ b/docker-compose/ext-src/postgis-src/neon-test.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -ex +cd "$(dirname "$0")" +make installcheck-base \ No newline at end of file