Skip to content

Commit

Permalink
Adds e-ol/9 tests
Browse files Browse the repository at this point in the history
  • Loading branch information
gurkanindibay committed Jun 5, 2024
1 parent 830963a commit 7d48617
Show file tree
Hide file tree
Showing 3 changed files with 135 additions and 0 deletions.
2 changes: 2 additions & 0 deletions packaging_automation/test_citus_package.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,12 @@ def run_command(command: str) -> int:
class TestPlatform(Enum):
el_7 = {"name": "el/7", "docker_image_name": "el-7"}
el_8 = {"name": "el/8", "docker_image_name": "el-8"}
el_9 = {"name": "el/9", "docker_image_name": "almalinux-9"}
centos_8 = {"name": "centos/8", "docker_image_name": "centos-8"}
centos_7 = {"name": "centos/7", "docker_image_name": "centos-7"}
ol_7 = {"name": "ol/7", "docker_image_name": "ol-7"}
ol_8 = {"name": "ol/8", "docker_image_name": "ol-8"}
ol_8 = {"name": "ol/8", "docker_image_name": "ol-9"}
debian_stretch = {"name": "debian/stretch", "docker_image_name": "debian-stretch"}
debian_buster = {"name": "debian/buster", "docker_image_name": "debian-buster"}
debian_bullseye = {
Expand Down
69 changes: 69 additions & 0 deletions test-images/el-9/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
FROM almalinux/almalinux:9
ARG CITUS_VERSION
# Format should be XY and should not include dots e.g for 10.2.1=>102
ARG CITUS_MAJOR_VERSION
ARG PG_MAJOR
ARG FANCY=1
ARG HLL_VERSION=2.18.citus-1
ARG TOPN_VERSION=2.6.0.citus-1
ARG PACKAGE_RELEASE_SUFFIX=el8

ENV CITUS_VERSION ${CITUS_VERSION}

ENV PG_MAJOR ${PG_MAJOR}


RUN yum update -y && \
yum install -y curl


# TODO Parameterize Citus and postgres version
RUN export CITUS_MAJOR_VER=${CITUS_MAJOR_VERSION//./} && \
curl https://install.citusdata.com/community/rpm.sh | bash && \
yum install -y citus${CITUS_MAJOR_VER}_${PG_MAJOR}-${CITUS_VERSION}.citus-${FANCY}.${PACKAGE_RELEASE_SUFFIX} \
hll_${PG_MAJOR}-${HLL_VERSION}.${PACKAGE_RELEASE_SUFFIX} \
topn_${PG_MAJOR}-${TOPN_VERSION}.${PACKAGE_RELEASE_SUFFIX}



ARG POSTGRES_HOME=/var/lib/pgsql
ENV PATH=/usr/pgsql-${PG_MAJOR}/bin:${PATH}:${POSTGRES_HOME}

WORKDIR ${POSTGRES_HOME}

RUN mkdir citus && chown postgres citus





USER postgres
RUN cd ~ && initdb -D citus && echo "shared_preload_libraries = 'citus'" >> citus/postgresql.conf

USER root
# Install python 3.8 and its dependencies
RUN yum install -y gcc make && \
yum -y install libcurl-devel \
openssl-devel \
bzip2-devel \
libffi-devel \
xz-devel \
python38-devel \
openssl-devel &&\
curl https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz --output Python-3.8.12.tgz &&\
tar xvf Python-3.8.12.tgz &&\
cd Python-3.8.*/ && \
./configure --enable-optimizations && \
make altinstall && \
python3.8 -m pip install pip-tools

COPY scripts/* ./

RUN pip-compile && python3.8 -m pip install -r requirements.txt


USER postgres

WORKDIR ${POSTGRES_HOME}

CMD ["test_internal.sh"]
64 changes: 64 additions & 0 deletions test-images/ol-9/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
FROM oraclelinux:9

ARG CITUS_VERSION
# Format should be X.Y and should include dots e.g for 10.2.1=>10.2
ARG CITUS_MAJOR_VERSION
ARG PG_MAJOR
ARG FANCY=1
ARG HLL_VERSION=2.18.citus-1
ARG TOPN_VERSION=2.6.0.citus-1
ARG PACKAGE_RELEASE_SUFFIX=el7

ENV CITUS_VERSION ${CITUS_VERSION}

ENV PG_MAJOR ${PG_MAJOR}


RUN yum update -y && \
yum install -y curl


RUN export CITUS_MAJOR_VER=${CITUS_MAJOR_VERSION//./} && \
curl https://install.citusdata.com/community/rpm.sh | bash && \
yum install -y citus${CITUS_MAJOR_VER}_${PG_MAJOR}-${CITUS_VERSION}.citus-${FANCY}.${PACKAGE_RELEASE_SUFFIX} \
hll_${PG_MAJOR}-${HLL_VERSION}.${PACKAGE_RELEASE_SUFFIX} \
topn_${PG_MAJOR}-${TOPN_VERSION}.${PACKAGE_RELEASE_SUFFIX}

ARG POSTGRES_HOME=/var/lib/pgsql
ENV PATH=/usr/pgsql-${PG_MAJOR}/bin:${PATH}:${POSTGRES_HOME}

WORKDIR ${POSTGRES_HOME}

RUN mkdir citus && chown postgres citus

USER postgres
RUN cd ~ && initdb -D citus && echo "shared_preload_libraries = 'citus'" >> citus/postgresql.conf

USER root
# Install python 3.8 and its dependencies
RUN yum install -y gcc make && \
yum -y install libcurl-devel \
openssl-devel \
bzip2-devel \
libffi-devel \
xz-devel \
python38-devel \
libzstd-devel \
openssl-devel &&\
curl https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz --output Python-3.8.12.tgz &&\
tar xvf Python-3.8.12.tgz &&\
cd Python-3.8.*/ && \
./configure --enable-optimizations && \
make altinstall && \
python3.8 -m pip install pip-tools

COPY scripts/* ./

RUN pip-compile && python3.8 -m pip install -r requirements.txt


USER postgres

WORKDIR ${POSTGRES_HOME}

CMD ["test_internal.sh"]

0 comments on commit 7d48617

Please sign in to comment.