ud3tn/test/dockerfiles/ion-interop
Felix Walter ed20c501cf test: Update Dockerfiles and introduce jansson dependency
Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2025-06-05 17:03:39 +02:00

44 lines
1.5 KiB
Text

# ION Dockerfile that contains the Python dependencies for interoperability tests
FROM buildpack-deps:bullseye
RUN apt-get update && \
apt-get dist-upgrade -y && \
apt-get install python3-venv python3-pip sqlite3 libjansson-dev -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
ARG ARCHIVE_URL
ENV ARCHIVE=ion.tar.gz
RUN mkdir /ion_build && cd /ion_build && \
wget -O "$ARCHIVE" "$ARCHIVE_URL" && \
tar -xvf "$ARCHIVE" && \
rm "$ARCHIVE"
RUN ls -lah /ion_build
RUN cd /ion_build/*ion-open-source* && \
autoreconf -fi && \
CPPFLAGS=-Wno-maybe-uninitialized ./configure && \
make -j4 && \
make install && \
ldconfig && \
cd / && \
rm -r /ion_build
COPY ./pyd3tn/requirements.txt /req-pyd3tn.txt
COPY ./python-ud3tn-utils/requirements.txt /req-utils.txt
COPY ./test/integration/requirements.txt /req-test.txt
COPY ./tools/analysis/requirements.txt /req-analysis.txt
# NOTE: pyd3tn is explicitly installed in `prepare_for_test.sh`; this might
# otherwise install the wrong version (from PyPI) and lead to clashes!
RUN sed -i '/^pyd3tn==/d' /req-utils.txt
RUN python3 -m venv /ud3tn_venv && \
/ud3tn_venv/bin/python -m pip install --no-cache-dir -U setuptools pip wheel && \
/ud3tn_venv/bin/python -m pip install --no-cache-dir -U -r /req-pyd3tn.txt && \
/ud3tn_venv/bin/python -m pip install --no-cache-dir -U -r /req-utils.txt && \
/ud3tn_venv/bin/python -m pip install --no-cache-dir -U -r /req-test.txt && \
/ud3tn_venv/bin/python -m pip install --no-cache-dir -U -r /req-analysis.txt