Skip to content

Commit

Permalink
Update pg_html5_email_address & add pg_jsonschema
Browse files Browse the repository at this point in the history
Also backport install script simplification to pg_analytics, pg_cron,
and pg_graphql.
  • Loading branch information
theory committed Dec 18, 2024
1 parent d39c876 commit 8c08398
Show file tree
Hide file tree
Showing 9 changed files with 66 additions and 54 deletions.
2 changes: 1 addition & 1 deletion contrib/pg_analytics/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG PG_VERSION=17
ARG PG_VERSION
FROM quay.io/coredb/pgrx-builder:pg${PG_VERSION}-pgrx0.12.7

USER root
Expand Down
15 changes: 6 additions & 9 deletions contrib/pg_cron/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
ARG PG_VERSION=17
ARG PG_VERSION
FROM quay.io/coredb/c-builder:pg${PG_VERSION}
ARG EXTENSION_VERSION=1.6.4

# Clone repository
RUN git clone https://github.com/citusdata/pg_cron.git

RUN cd pg_cron && \
git fetch origin v${EXTENSION_VERSION} && \
git checkout v${EXTENSION_VERSION} && \
make
# Clone and build the extension.
ARG EXTENSION_NAME
ARG EXTENSION_VERSION
RUN git clone --depth 1 --branch "v${EXTENSION_VERSION}" https://github.com/citusdata/${EXTENSION_NAME}.git \
&& make -C ${EXTENSION_NAME}
2 changes: 1 addition & 1 deletion contrib/pg_cron/Trunk.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ apt = ["libpq5", "libc6"]
postgres_version = "17"
platform = "linux/amd64"
dockerfile = "Dockerfile"
install_command = "cd pg_cron && make install"
install_command = "make -C pg_cron install"
26 changes: 11 additions & 15 deletions contrib/pg_graphql/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
ARG PG_VERSION=17

ARG PG_VERSION
FROM quay.io/coredb/pgrx-builder:pg${PG_VERSION}-pgrx0.12.6
USER root

ARG PG_VERSION=17
ARG RELEASE=v1.5.9
USER root
RUN apt-get update && apt-get install -y \
# extension build dependencies
build-essential \
Expand All @@ -13,16 +10,15 @@ RUN apt-get update && apt-get install -y \
git \
libpq-dev \
libreadline6-dev \
zlib1g-dev \
# Install Rust
&& curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
# Set default Rust version
zlib1g-dev

ARG PG_VERSION
ARG EXTENSION_NAME
ARG EXTENSION_VERSION

RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
&& /root/.cargo/bin/rustup default stable \
# Download the source
&& git clone https://github.com/supabase/pg_graphql.git \
&& cd pg_graphql \
&& git fetch origin ${RELEASE} \
&& git checkout ${RELEASE} \
# Build the extension
&& git clone --depth 1 --branch v${EXTENSION_VERSION} https://github.com/supabase/${EXTENSION_NAME}.git \
&& cd ${EXTENSION_NAME} \
&& cargo pgrx init --pg${PG_VERSION}=/usr/bin/pg_config \
&& cargo pgrx package
12 changes: 4 additions & 8 deletions contrib/pg_graphql/Trunk.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,11 @@ homepage = "https://supabase.com"
documentation = "https://supabase.github.io/pg_graphql"
categories = ["data_transformations"]

[dependencies]
apt = ["libc6"]

[build]
postgres_version = "17"
platform = "linux/amd64"
dockerfile = "Dockerfile"
install_command = """
cd pg_graphql
mv target/release/pg_graphql-pg17/usr/lib/postgresql/15/lib/* /usr/lib/postgresql/15/lib
mv target/release/pg_graphql-pg17/usr/share/postgresql/15/extension/* /usr/share/postgresql/15/extension
"""

[dependencies]
apt = ["libc6"]
install_command = "cd pg_graphql && cargo pgrx install --release"
20 changes: 8 additions & 12 deletions contrib/pg_html5_email_address/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
# Set PostgreSQL version
ARG PG_VERSION=15
ARG PG_VERSION
FROM quay.io/coredb/c-builder:pg${PG_VERSION}
USER root

# Clone repository
RUN git clone https://github.com/bigsmoke/pg_html5_email_address.git

ARG RELEASE=v1.2.2

# Build extension
RUN cd pg_html5_email_address && \
git fetch origin ${RELEASE} && \
git checkout ${RELEASE} && \
make
ARG EXTENSION_NAME
ARG EXTENSION_VERSION

# Extension build dependencies
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}
11 changes: 3 additions & 8 deletions contrib/pg_html5_email_address/Trunk.toml
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
[extension]
name = "pg_html5_email_address"
version = "1.2.2"
version = "1.2.3"
repository = "https://github.com/bigsmoke/pg_html5_email_address"
license = "PostgreSQL"
description = "PostgreSQL email validation that is consistent with the HTML5 spec."
categories = ["data_transformations"]

[build]
postgres_version = "15"
postgres_version = "17"
platform = "linux/amd64"
dockerfile = "Dockerfile"
install_command = """
cd pg_html5_email_address && 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 install"
14 changes: 14 additions & 0 deletions contrib/pg_jsonschema/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
ARG PG_VERSION
FROM quay.io/coredb/pgrx-builder:pg${PG_VERSION}-pgrx0.12.6

ARG PG_VERSION
ARG EXTENSION_NAME
ARG EXTENSION_VERSION

USER root
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
&& /root/.cargo/bin/rustup default stable \
&& git clone --depth 1 --branch v${EXTENSION_VERSION} https://github.com/supabase/${EXTENSION_NAME}.git \
&& cd ${EXTENSION_NAME} \
&& cargo pgrx init --pg${PG_VERSION}=/usr/bin/pg_config \
&& cargo pgrx package
18 changes: 18 additions & 0 deletions contrib/pg_jsonschema/Trunk.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[extension]
name = "pg_jsonschema"
version = "0.3.3"
repository = "https://github.com/supabase/pg_jsonschema"
license = "Apache-2.0"
description = "PostgreSQL extension providing JSON Schema validation."
homepage = "https://github.com/supabase/pg_jsonschema"
documentation = "https://github.com/supabase/pg_jsonschema/blob/master/README.md"
categories = ["data_transformations"]

[dependencies]
apt = ["libc6"]

[build]
postgres_version = "17"
platform = "linux/amd64"
dockerfile = "Dockerfile"
install_command = "cd pg_jsonschema && cargo pgrx install --release"

0 comments on commit 8c08398

Please sign in to comment.