From 5faa6fcc26e7d6d2325c096f47ffeb145a2e2b65 Mon Sep 17 00:00:00 2001 From: Piyush Raj Date: Tue, 30 May 2023 23:42:15 +0530 Subject: [PATCH 1/5] Fixes #7 Signed-off-by: Piyush Raj --- .github/workflows/smoke-test.yml | 6 ++++- Dockerfile | 28 +++++++++++++++++++++- Makefile | 3 ++- bitnami/Dockerfile | 29 +++++++++++++++++++++++ bitnami/Makefile | 4 ++-- bitnami/timescaledb-bitnami-entrypoint.sh | 4 ++-- 6 files changed, 67 insertions(+), 7 deletions(-) diff --git a/.github/workflows/smoke-test.yml b/.github/workflows/smoke-test.yml index c831969c..5791a15a 100644 --- a/.github/workflows/smoke-test.yml +++ b/.github/workflows/smoke-test.yml @@ -73,7 +73,11 @@ jobs: psql -c "CREATE EXTENSION zombodb;" psql -c "SELECT * FROM pg_extension WHERE extname = 'zombodb';" - + + echo "Test pg_repack Extension" + psql -c "CREATE EXTENSION pg_repack;" + psql -c "select repack.version(), repack.version_sql();" + pg_repack --version break fi sleep 1 diff --git a/Dockerfile b/Dockerfile index aa1b9a1f..ad9518c9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -256,4 +256,30 @@ RUN apk add --no-cache --virtual .zombodb-build-deps \ && cargo pgrx install --release \ && cd .. \ && rm -rf ./zombodb \ - && apk del .zombodb-build-deps \ No newline at end of file + && apk del .zombodb-build-deps + +## Adding pg_repack +ARG PG_REPACK_VERSION +RUN set -eux \ + && apk add --no-cache --virtual .pg_repack-build-deps \ + openssl-dev \ + zstd-dev \ + lz4-dev \ + zlib-dev \ + make \ + clang15 \ + # coreutils \ + gawk \ + llvm15 \ + gcc \ + musl-dev \ +# build pg_repack + && wget -O /tmp/pg_repack-${PG_REPACK_VERSION}.zip "https://api.pgxn.org/dist/pg_repack/${PG_REPACK_VERSION}/pg_repack-${PG_REPACK_VERSION}.zip" \ + && unzip /tmp/pg_repack-${PG_REPACK_VERSION}.zip -d /tmp \ + && cd /tmp/pg_repack-${PG_REPACK_VERSION} \ + && make \ + && make install \ +# clean + && cd / \ + && rm -rf /tmp/pg_repack-${PG_REPACK_VERSION} /tmp/pg_repack.zip \ + && apk del .pg_repack-build-deps \ No newline at end of file diff --git a/Makefile b/Makefile index 7c97a5a6..9285064b 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,7 @@ ORG=samagragovernance PG_VER=pg15 CITUS_VERSION="11.2.0" POSTGIS_VERSION=3.3.2 +PG_REPACK_VERSION = 1.4.8 POSTGIS_SHA256=2a6858d1df06de1c5f85a5b780773e92f6ba3a5dc09ac31120ac895242f5a77b PG_VER_NUMBER=$(shell echo $(PG_VER) | cut -c3-) TS_VERSION=main @@ -57,7 +58,7 @@ default: image touch .build_$(TS_VERSION)_$(PG_VER)_oss .build_$(TS_VERSION)_$(PG_VER): Dockerfile - docker build --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg PG_VER=$(PG_VER) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) --build-arg POSTGIS_SHA256=$(POSTGIS_SHA256) $(TAG) . + docker build --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg PG_VER=$(PG_VER) --build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) --build-arg POSTGIS_SHA256=$(POSTGIS_SHA256) $(TAG) . touch .build_$(TS_VERSION)_$(PG_VER) image: .build_$(TS_VERSION)_$(PG_VER) diff --git a/bitnami/Dockerfile b/bitnami/Dockerfile index 79bbfa61..8a3b1d4c 100644 --- a/bitnami/Dockerfile +++ b/bitnami/Dockerfile @@ -141,6 +141,35 @@ RUN apt-get update \ postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION \ postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR-scripts \ && rm -rf /var/lib/apt/lists/* +# ADD pg_repack Extention +ARG PG_REPACK_VERSION + +RUN apt-get update \ + && apt-get install -y unzip \ + build-essential \ + liblz4-dev \ + zlib1g-dev \ + libssl-dev \ + wget \ +# build pg_repack + && wget -O /tmp/pg_repack-${PG_REPACK_VERSION}.zip "https://api.pgxn.org/dist/pg_repack/${PG_REPACK_VERSION}/pg_repack-${PG_REPACK_VERSION}.zip" \ + && unzip /tmp/pg_repack-${PG_REPACK_VERSION}.zip -d /tmp \ + && cd /tmp/pg_repack-${PG_REPACK_VERSION} \ + && make \ + && make install \ +#clean + && apt-get autoremove --purge -y \ + unzip \ + build-essential \ + liblz4-dev \ + libssl-dev \ + zlib1g-dev \ + wget \ + && apt-get clean -y \ + && rm -rf \ + /var/lib/apt/lists/* \ + /tmp/* \ + /var/tmp/* # Install zombodb extension RUN apt-get update -y -qq --fix-missing \ diff --git a/bitnami/Makefile b/bitnami/Makefile index 6dab83ad..569c0116 100644 --- a/bitnami/Makefile +++ b/bitnami/Makefile @@ -7,7 +7,7 @@ CITUS_VERSION="11.2.0" POSTGIS_MAJOR=3 PG_MAJOR=15 POSTGIS_VERSION=3.3.2+dfsg-1.pgdg110+1 - +PG_REPACK_VERSION = 1.4.8 PG_VER_NUMBER=$(shell echo $(PG_VER) | cut -c3-) TS_VERSION=main @@ -26,7 +26,7 @@ default: image .build_$(TS_VERSION)_$(PG_VER): Dockerfile test -n "$(TS_VERSION)" # TS_VERSION test -n "$(PREV_TS_VERSION)" # PREV_TS_VERSION - docker build -f ./Dockerfile --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg POSTGIS_MAJOR=$(POSTGIS_MAJOR) --build-arg PG_MAJOR=$(PG_MAJOR) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) $(TAG) .. + docker build -f ./Dockerfile --build-arg PG_VERSION=$(PG_VER_NUMBER) --build-arg TS_VERSION=$(TS_VERSION) --build-arg PREV_IMAGE=$(PREV_IMAGE) --build-arg CITUS_VERSION=$(CITUS_VERSION) --build-arg PG_REPACK_VERSION=$(PG_REPACK_VERSION) --build-arg POSTGIS_MAJOR=$(POSTGIS_MAJOR) --build-arg PG_MAJOR=$(PG_MAJOR) --build-arg POSTGIS_VERSION=$(POSTGIS_VERSION) $(TAG) .. touch .build_$(TS_VERSION)_$(PG_VER)-bitnami image: .build_$(TS_VERSION)_$(PG_VER) diff --git a/bitnami/timescaledb-bitnami-entrypoint.sh b/bitnami/timescaledb-bitnami-entrypoint.sh index 6c605e36..f4df80c2 100755 --- a/bitnami/timescaledb-bitnami-entrypoint.sh +++ b/bitnami/timescaledb-bitnami-entrypoint.sh @@ -4,9 +4,9 @@ # the shared preload list, or else it gets overwritten. if [ -z "$POSTGRESQL_SHARED_PRELOAD_LIBRARIES" ] then - POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb" + POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,pg_repack" else - POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,$POSTGRESQL_SHARED_PRELOAD_LIBRARIES" + POSTGRESQL_SHARED_PRELOAD_LIBRARIES="citus,timescaledb,zombodb,pg_repack,$POSTGRESQL_SHARED_PRELOAD_LIBRARIES" fi export POSTGRESQL_SHARED_PRELOAD_LIBRARIES From 1bc8cf702ab088d3a8d1e69d5351b9beedd66725 Mon Sep 17 00:00:00 2001 From: Piyush Raj Date: Wed, 31 May 2023 01:06:52 +0530 Subject: [PATCH 2/5] remove comment Signed-off-by: Piyush Raj --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ad9518c9..6c052667 100644 --- a/Dockerfile +++ b/Dockerfile @@ -268,7 +268,6 @@ RUN set -eux \ zlib-dev \ make \ clang15 \ - # coreutils \ gawk \ llvm15 \ gcc \ From de9e6507a7e9a1c9de8fad60d8a8bc484c6e79c5 Mon Sep 17 00:00:00 2001 From: Piyush Raj Date: Wed, 31 May 2023 10:59:25 +0530 Subject: [PATCH 3/5] Fix smoke test Signed-off-by: Piyush Raj --- .github/workflows/smoke-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/smoke-test.yml b/.github/workflows/smoke-test.yml index 5791a15a..5825ad09 100644 --- a/.github/workflows/smoke-test.yml +++ b/.github/workflows/smoke-test.yml @@ -77,7 +77,7 @@ jobs: echo "Test pg_repack Extension" psql -c "CREATE EXTENSION pg_repack;" psql -c "select repack.version(), repack.version_sql();" - pg_repack --version + /usr/local/bin/pg_repack --version break fi sleep 1 From 8e5876d33d8efc21f55752c39893414ed5df7288 Mon Sep 17 00:00:00 2001 From: Piyush Raj Date: Wed, 31 May 2023 11:06:18 +0530 Subject: [PATCH 4/5] Trigger Build From ca00ae2eae7784efc73d94ec3f4b5030f54d2f04 Mon Sep 17 00:00:00 2001 From: Piyush Raj Date: Wed, 31 May 2023 12:43:11 +0530 Subject: [PATCH 5/5] fix test Signed-off-by: Piyush Raj --- .github/workflows/smoke-test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/smoke-test.yml b/.github/workflows/smoke-test.yml index 5825ad09..af3abfe8 100644 --- a/.github/workflows/smoke-test.yml +++ b/.github/workflows/smoke-test.yml @@ -77,7 +77,6 @@ jobs: echo "Test pg_repack Extension" psql -c "CREATE EXTENSION pg_repack;" psql -c "select repack.version(), repack.version_sql();" - /usr/local/bin/pg_repack --version break fi sleep 1