blob: 746090fc419a3b3201ae19a5db36ddde0ed523d7 [file] [log] [blame]
# ==================================================================================
# Copyright (c) 2019-2020 Nokia
# Copyright (c) 2018-2020 AT&T Intellectual Property.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==================================================================================
FROM python:3.8-slim as stretch
# sdl uses hiredis which needs gcc
RUN apt-get update && \
apt-get install -y \
wget gcc musl-dev
ARG rmr_version=4.9.4
ARG e2ap_version=1.1.0
# download rmr and e2ap libraries from package cloud
RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr_${rmr_version}_amd64.deb/download.deb
RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/rmr-dev_${rmr_version}_amd64.deb/download.deb
RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/riclibe2ap_${e2ap_version}_amd64.deb/download.deb
RUN wget -nv --content-disposition https://packagecloud.io/o-ran-sc/release/packages/debian/stretch/riclibe2ap-dev_${e2ap_version}_amd64.deb/download.deb
RUN dpkg -i rmr_${rmr_version}_amd64.deb
RUN dpkg -i rmr-dev_${rmr_version}_amd64.deb
RUN dpkg -i riclibe2ap_${e2ap_version}_amd64.deb
RUN dpkg -i riclibe2ap-dev_${e2ap_version}_amd64.deb
RUN ls /usr/local/lib/
FROM python:3.8-slim
ARG rmr_version=4.9.4
ARG e2ap_version=1.1.0
COPY --from=stretch /usr/local/lib/librmr_si.so.${rmr_version} /usr/local/lib/librmr_si.so
COPY --from=stretch /usr/local/lib/libriclibe2ap.so.${e2ap_version} /usr/local/lib/libriclibe2ap.so
# Upgrade pip, install tox
RUN pip install --upgrade pip && pip install tox && pip install certifi six python_dateutil setuptools urllib3 inotify_simple mdclogpy
# copies
COPY ricxappframe/ /tmp/ricxappframe
COPY tests/ /tmp/tests
COPY setup.py tox.ini LICENSE.txt .coveragerc /tmp/
WORKDIR /tmp
# following is to get the docker instance and run tests from the bash shell, remove comment in the
# the next ENTRYPOINT line and comment out the last RUN line to get the runable docker instance.
# Bbuild named image and run the instance - if you modify the files those are visible in container
# docker build -t xappframe:latest -f Dockerfile-Unit-Test .
# docker run -ti --name xappframe --rm -v ${PWD}:/tmp -u $(id -u ${USER}):$(id -g ${USER}) --workdir /tmp xappframe:latest
# then run : tox -e code,flake8,docs,docs-linkcheck
#ENTRYPOINT ["/bin/bash"]
# Run the unit tests
RUN tox -e code,flake8