| # ================================================================================== |
| # 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 |