ud3tn/test/dockerfiles/ion-interop
Felix Walter 43ae0e59ef test: Add Dockerfiles and scripts for ION interoperability testing
This provides two new Dockerfiles for testing, one just containing ION
and one with an additional Python3 virtual environment for
interoperability testing.

Additionally, two scripts are provided:
* build_docker_images.sh: build images that can be pushed to the
  registry and then used by the CI toolchain
* prepare_for_test.sh: a script to be run inside a newly created Docker
  container based on the provided `ion-interop` image, to build uD3TN
  and add the Python modules from the uD3TN source tree efficiently

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2023-05-11 16:40:53 +02:00

36 lines
1.4 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 -y && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
ARG ION_FILE=ion-open-source-4.1.2.tar.gz
RUN mkdir /ion_build && cd /ion_build && \
wget -O "$ION_FILE" "https://sourceforge.net/projects/ion-dtn/files/$ION_FILE/download?use_mirror=netcologne&ts=$(date +%s)" && \
tar -xvf "$ION_FILE" && \
rm "$ION_FILE"
RUN cd /ion_build/ion-open-source* && \
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
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