Compare commits

...

2 Commits

Author SHA1 Message Date
Vadim Kharitonov
a032eff3a4 Increase VM disc size 2023-08-01 11:14:38 +02:00
Vadim Kharitonov
bacb32cbbd Build pgml extension 2023-08-01 11:13:44 +02:00
2 changed files with 36 additions and 2 deletions

View File

@@ -815,7 +815,7 @@ jobs:
- name: Build vm image
run: |
./vm-builder -enable-file-cache -src=369495373322.dkr.ecr.eu-central-1.amazonaws.com/compute-node-${{ matrix.version }}:${{needs.tag.outputs.build-tag}} -dst=369495373322.dkr.ecr.eu-central-1.amazonaws.com/vm-compute-node-${{ matrix.version }}:${{needs.tag.outputs.build-tag}}
./vm-builder -enable-file-cache -size=5G -src=369495373322.dkr.ecr.eu-central-1.amazonaws.com/compute-node-${{ matrix.version }}:${{needs.tag.outputs.build-tag}} -dst=369495373322.dkr.ecr.eu-central-1.amazonaws.com/vm-compute-node-${{ matrix.version }}:${{needs.tag.outputs.build-tag}}
- name: Pushing vm-compute-node image
run: |

View File

@@ -603,7 +603,9 @@ RUN curl -sSO https://static.rust-lang.org/rustup/dist/$(uname -m)-unknown-linux
./rustup-init -y --no-modify-path --profile minimal --default-toolchain stable && \
rm rustup-init && \
cargo install --locked --version 0.7.3 cargo-pgx && \
/bin/bash -c 'cargo pgx init --pg${PG_VERSION:1}=/usr/local/pgsql/bin/pg_config'
/bin/bash -c 'cargo pgx init --pg${PG_VERSION:1}=/usr/local/pgsql/bin/pg_config' && \
cargo install --locked --version 0.9.8 cargo-pgrx && \
/bin/bash -c 'cargo pgrx init --pg${PG_VERSION:1}=/usr/local/pgsql/bin/pg_config'
USER root
@@ -664,6 +666,28 @@ RUN wget https://github.com/kelvich/pg_tiktoken/archive/801f84f08c6881c8aa30f405
cargo pgx install --release && \
echo "trusted = true" >> /usr/local/pgsql/share/extension/pg_tiktoken.control
#########################################################################################
#
# Layer "pgml-build"
# Compile "pgml" extension
#
#########################################################################################
FROM rust-extensions-build AS pgml-pg-build
RUN apt-get update && \
apt-get install -y libopenblas-dev python3 python3-pip python3-venv python3-virtualenv virtualenv && \
# it compiles on master only w/o errors. And tar archive doesn't containt a submodule
git clone --recurse-submodules https://github.com/postgresml/postgresml && \
cd postgresml/pgml-extension && \
sed -i 's/pgrx = "=0.9.8"/pgrx = { version = "0.9.8", features = [ "unsafe-postgres" ] }/g' Cargo.toml && \
cargo pgrx install --release && \
echo "trusted = true" >> /usr/local/pgsql/share/extension/pgml.control && \
virtualenv /pgml-venv && \
. /pgml-venv/bin/activate && \
pip install -r requirements.txt && \
pip install -r requirements-xformers.txt --no-dependencies
#########################################################################################
#
# Layer "pg-pgx-ulid-build"
@@ -699,6 +723,8 @@ COPY --from=pgjwt-pg-build /usr/local/pgsql/ /usr/local/pgsql/
COPY --from=pg-jsonschema-pg-build /usr/local/pgsql/ /usr/local/pgsql/
COPY --from=pg-graphql-pg-build /usr/local/pgsql/ /usr/local/pgsql/
COPY --from=pg-tiktoken-pg-build /usr/local/pgsql/ /usr/local/pgsql/
COPY --from=pgml-pg-build /usr/local/pgsql/ /usr/local/pgsql/
COPY --from=pgml-pg-build /pgml-venv/ /pgml-venv/
COPY --from=hypopg-pg-build /usr/local/pgsql/ /usr/local/pgsql/
COPY --from=pg-hashids-pg-build /usr/local/pgsql/ /usr/local/pgsql/
COPY --from=rum-pg-build /usr/local/pgsql/ /usr/local/pgsql/
@@ -805,6 +831,7 @@ RUN mkdir /var/db && useradd -m -d /var/db/postgres postgres && \
mkdir -p -m 777 /neon/cache
COPY --from=postgres-cleanup-layer --chown=postgres /usr/local/pgsql /usr/local
COPY --from=postgres-cleanup-layer --chown=postgres /pgml-venv /pgml-venv
COPY --from=compute-tools --chown=postgres /home/nonroot/target/release-line-debug-size-lto/compute_ctl /usr/local/bin/compute_ctl
# Install:
@@ -816,6 +843,7 @@ COPY --from=compute-tools --chown=postgres /home/nonroot/target/release-line-deb
# libxml2, libxslt1.1 for xml2
# libzstd1 for zstd
# libboost*, libfreetype6, and zlib1g for rdkit
# libgomp1, libopenblas-base, and python* for pgml
RUN apt update && \
apt install --no-install-recommends -y \
gdb \
@@ -830,6 +858,8 @@ RUN apt update && \
libfreetype6 \
libgeos-c1v5 \
libgdal28 \
libgomp1 \
libopenblas-base \
libproj19 \
libprotobuf-c1 \
libsfcgal1 \
@@ -839,6 +869,10 @@ RUN apt update && \
libcurl4-openssl-dev \
locales \
procps \
python3 \
python3-venv \
python3-virtualenv \
virtualenv \
zlib1g && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8