diff --git a/.github/workflows/extensions.yaml b/.github/workflows/extensions.yaml index 89c8fd57..251226e3 100644 --- a/.github/workflows/extensions.yaml +++ b/.github/workflows/extensions.yaml @@ -119,7 +119,7 @@ jobs: if: matrix.pg == 15 shell: bash -e {0} run: | - for val in pg_cron timescaledb pg_search pg_analytics citus plrust; do + for val in pg_cron timescaledb pg_search pg_analytics citus plrust pg_net; do if [[ "${{ matrix.ext.path }}" == *"$val"* ]]; then echo handling shared_preload_libraries for $val echo "shared_preload_libraries = '$val'" >> /var/lib/postgresql/data2/postgresql.conf diff --git a/contrib/emaj/Dockerfile b/contrib/emaj/Dockerfile index b477f523..2abf6b3b 100644 --- a/contrib/emaj/Dockerfile +++ b/contrib/emaj/Dockerfile @@ -1,10 +1,12 @@ -ARG PG_VERSION=17 +ARG PG_VERSION FROM quay.io/coredb/c-builder:pg${PG_VERSION} -USER root -ARG RELEASE=4.5.0 -RUN curl -O https://api.pgxn.org/dist/e-maj/${RELEASE}/e-maj-${RELEASE}.zip \ - && unzip e-maj-${RELEASE}.zip \ - && cd e-maj-${RELEASE} \ - && perl -i -pe 's/#directory/directory/' emaj.control \ +ARG EXTENSION_NAME +ARG EXTENSION_VERSION + +RUN curl -O https://api.pgxn.org/dist/e-maj/${EXTENSION_VERSION}/e-maj-${EXTENSION_VERSION}.zip \ + && unzip e-maj-${EXTENSION_VERSION}.zip \ + && cd e-maj-${EXTENSION_VERSION} \ + && perl -i -pe 's/#directory/directory/' ${EXTENSION_NAME}.control \ && make +WORKDIR /app/e-maj-${EXTENSION_VERSION} diff --git a/contrib/emaj/Trunk.toml b/contrib/emaj/Trunk.toml index 6a91d613..ce460923 100644 --- a/contrib/emaj/Trunk.toml +++ b/contrib/emaj/Trunk.toml @@ -14,4 +14,4 @@ apt = ["libstdc++6", "libgcc-s1", "libc6"] postgres_version = "17" platform = "linux/amd64" dockerfile = "Dockerfile" -install_command = "cd e-maj-4.5.0 && make install" +install_command = "make install" diff --git a/contrib/envvar/Dockerfile b/contrib/envvar/Dockerfile index 59b26da8..338c101e 100644 --- a/contrib/envvar/Dockerfile +++ b/contrib/envvar/Dockerfile @@ -1,9 +1,11 @@ -ARG PG_VERSION=17 +ARG PG_VERSION FROM quay.io/coredb/c-builder:pg${PG_VERSION} -ARG RELEASE=1.0.0 +ARG EXTENSION_NAME +ARG EXTENSION_VERSION # Extension build dependencies -RUN curl -O https://api.pgxn.org/dist/envvar/${RELEASE}/envvar-${RELEASE}.zip \ - && unzip envvar-${RELEASE}.zip \ - && cd envvar-${RELEASE} && make +RUN curl -O https://api.pgxn.org/dist/${EXTENSION_NAME}/${EXTENSION_VERSION}/${EXTENSION_NAME}-${EXTENSION_VERSION}.zip \ + && unzip ${EXTENSION_NAME}-${EXTENSION_VERSION}.zip \ + && cd ${EXTENSION_NAME}-${EXTENSION_VERSION} && make +WORKDIR /app/${EXTENSION_NAME}-${EXTENSION_VERSION} diff --git a/contrib/envvar/Trunk.toml b/contrib/envvar/Trunk.toml index ba12ed7b..27afa063 100644 --- a/contrib/envvar/Trunk.toml +++ b/contrib/envvar/Trunk.toml @@ -15,4 +15,4 @@ apt = ["libc6"] postgres_version = "17" platform = "linux/amd64" dockerfile = "Dockerfile" -install_command = "cd envvar-1.0.0 && make install" +install_command = "make install" diff --git a/contrib/hydra_columnar/Dockerfile b/contrib/hydra_columnar/Dockerfile index 7458a1c6..99264e1b 100644 --- a/contrib/hydra_columnar/Dockerfile +++ b/contrib/hydra_columnar/Dockerfile @@ -1,21 +1,18 @@ -ARG PG_VERSION=15 +ARG PG_VERSION FROM quay.io/coredb/c-builder:pg${PG_VERSION} -USER root # Extension build dependencies - RUN apt-get update && apt-get install -y \ - build-essential \ - libcurl4-openssl-dev \ - liblz4-dev \ - libzstd-dev - -# Clone repository -RUN git clone https://github.com/hydradatabase/hydra - -ARG RELEASE=v1.1.1 +USER root +RUN apt-get update && apt-get install -y \ + build-essential \ + libcurl4-openssl-dev \ + liblz4-dev \ + libzstd-dev -RUN cd hydra/columnar && \ - git checkout ${RELEASE} && \ - ./configure && \ - make +# ARG EXTENSION_NAME +ARG EXTENSION_VERSION +RUN git clone --depth 1 --branch "v${EXTENSION_VERSION}" https://github.com/hydradatabase/hydra.git \ + && cd hydra/columnar \ + && ./configure \ + && make diff --git a/contrib/hydra_columnar/Trunk.toml b/contrib/hydra_columnar/Trunk.toml index 876dede0..690f9e9c 100644 --- a/contrib/hydra_columnar/Trunk.toml +++ b/contrib/hydra_columnar/Trunk.toml @@ -1,6 +1,6 @@ [extension] name = "hydra_columnar" -version = "1.1.1" +version = "1.1.2" repository = "https://github.com/hydradatabase/hydra" license = "GNU AGPL" description = "Columnar storage for Postgres" @@ -8,17 +8,11 @@ homepage = "https://www.hydra.so" documentation = "https://github.com/hydradatabase/hydra" categories = ["analytics"] - [dependencies] apt = ["libc6", "libzstd1", "liblz4-1"] [build] -postgres_version = "15" +postgres_version = "16" platform = "linux/amd64" dockerfile = "Dockerfile" -install_command = """ - cd hydra/columnar && make install - set -x - mv /usr/local/pgsql/share/extension/* /usr/share/postgresql/15/extension - mv /usr/local/pgsql/lib/* /usr/lib/postgresql/15/lib - """ +install_command = "make -C hydra/columnar install" diff --git a/contrib/jsonschema/Dockerfile b/contrib/jsonschema/Dockerfile index b952d3e9..a52135e4 100644 --- a/contrib/jsonschema/Dockerfile +++ b/contrib/jsonschema/Dockerfile @@ -1,8 +1,9 @@ -ARG PG_VERSION=16 +ARG PG_VERSION FROM quay.io/coredb/pgrx-builder:pg${PG_VERSION}-pgrx0.12.9 -USER root -ARG RELEASE=0.1.4 +ARG EXTENSION_NAME +ARG EXTENSION_VERSION +USER root # Extension build dependencies RUN apt-get update && apt-get install -y build-essential \ @@ -11,7 +12,8 @@ RUN apt-get update && apt-get install -y build-essential \ # Set default Rust version && /root/.cargo/bin/rustup default stable \ # Download the source - && curl -O https://api.pgxn.org/dist/jsonschema/${RELEASE}/jsonschema-${RELEASE}.zip \ - && unzip jsonschema-${RELEASE}.zip \ + && curl -O https://api.pgxn.org/dist/${EXTENSION_NAME}/${EXTENSION_VERSION}/${EXTENSION_NAME}-${EXTENSION_VERSION}.zip \ + && unzip ${EXTENSION_NAME}-${EXTENSION_VERSION}.zip \ # Build the extension - && cd jsonschema-${RELEASE} && make pgrx-init && make + && cd ${EXTENSION_NAME}-${EXTENSION_VERSION} && make pgrx-init && make +WORKDIR /app/${EXTENSION_NAME}-${EXTENSION_VERSION} diff --git a/contrib/jsonschema/Trunk.toml b/contrib/jsonschema/Trunk.toml index 694623db..95414a92 100644 --- a/contrib/jsonschema/Trunk.toml +++ b/contrib/jsonschema/Trunk.toml @@ -15,4 +15,4 @@ apt = ["libc6"] postgres_version = "16" platform = "linux/amd64" dockerfile = "Dockerfile" -install_command = "cd jsonschema-0.1.4 && make install" +install_command = "make install" diff --git a/contrib/pg_net/Dockerfile b/contrib/pg_net/Dockerfile index 4f970bb1..48fe347e 100644 --- a/contrib/pg_net/Dockerfile +++ b/contrib/pg_net/Dockerfile @@ -1,16 +1,13 @@ -ARG PG_VERSION=15 +ARG PG_VERSION FROM quay.io/coredb/c-builder:pg${PG_VERSION} -USER root # Install dependencies +USER root RUN apt-get update && apt-get install -y libcurl4-openssl-dev -ARG RELEASE=v0.7.1 - -# Clone repository -RUN git clone https://github.com/supabase/pg_net.git +ARG EXTENSION_NAME +ARG EXTENSION_VERSION -RUN cd pg_net && \ - git fetch origin ${RELEASE} && \ - git checkout ${RELEASE} && \ - make +RUN git clone --depth 1 --branch "v${EXTENSION_VERSION}" https://github.com/supabase/${EXTENSION_NAME}.git \ + && cd ${EXTENSION_NAME} \ + && make diff --git a/contrib/pg_net/Trunk.toml b/contrib/pg_net/Trunk.toml index eb7ff401..5eecce69 100644 --- a/contrib/pg_net/Trunk.toml +++ b/contrib/pg_net/Trunk.toml @@ -1,6 +1,6 @@ [extension] name = "pg_net" -version = "0.7.1" +version = "0.7.3" # v0.8.0 and later require libcurl 7.83, but our image has 7.81. https://github.com/supabase/pg_net/issues/143 repository = "https://github.com/supabase/pg_net" license = "Apache-2.0" description = "A PostgreSQL extension providing an async networking interface accessible via SQL using a background worker and curl." @@ -11,8 +11,7 @@ preload_libraries = ["pg_net"] apt = ["libcurl4", "libc6"] [build] -postgres_version = "15" +postgres_version = "17" platform = "linux/amd64" dockerfile = "Dockerfile" -install_command = "cd pg_net && make install" - +install_command = "make -C pg_net install" diff --git a/contrib/plv8/Dockerfile b/contrib/plv8/Dockerfile index 7bf09e54..73c8c979 100644 --- a/contrib/plv8/Dockerfile +++ b/contrib/plv8/Dockerfile @@ -1,9 +1,11 @@ -ARG PG_VERSION=15 +ARG PG_VERSION FROM quay.io/coredb/c-builder:pg${PG_VERSION} -USER root -ARG RELEASE=3.2.3 -RUN curl -O https://api.pgxn.org/dist/plv8/${RELEASE}/plv8-${RELEASE}.zip \ - && unzip plv8-${RELEASE}.zip \ - && cd plv8-${RELEASE} \ +ARG EXTENSION_NAME +ARG EXTENSION_VERSION + +RUN curl -O https://api.pgxn.org/dist/${EXTENSION_NAME}/${EXTENSION_VERSION}/${EXTENSION_NAME}-${EXTENSION_VERSION}.zip \ + && unzip ${EXTENSION_NAME}-${EXTENSION_VERSION}.zip \ + && cd ${EXTENSION_NAME}-${EXTENSION_VERSION} \ && make +WORKDIR /app/${EXTENSION_NAME}-${EXTENSION_VERSION} diff --git a/contrib/plv8/Trunk.toml b/contrib/plv8/Trunk.toml index dd80c581..d24b6325 100644 --- a/contrib/plv8/Trunk.toml +++ b/contrib/plv8/Trunk.toml @@ -1,6 +1,6 @@ [extension] name = "plv8" -version = "3.2.2" +version = "3.2.3" repository = "https://github.com/plv8/plv8" license = "Copyright" description = "A procedural language in JavaScript powered by V8" @@ -14,4 +14,4 @@ apt = ["libstdc++6", "libgcc-s1", "libc6"] postgres_version = "15" platform = "linux/amd64" dockerfile = "Dockerfile" -install_command = "cd plv8-3.2.3 && make install" +install_command = "make install"