X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Dockerfile-Unit-Test;h=746090fc419a3b3201ae19a5db36ddde0ed523d7;hb=2f4ab6cabdf283ecb03abc8d86930f0f7508ac50;hp=6e6497d27ab1481fc86c2e12f72286a69248cba9;hpb=750eb5b040db75fae264da5e422038e08e5da345;p=ric-plt%2Fxapp-frame-py.git diff --git a/Dockerfile-Unit-Test b/Dockerfile-Unit-Test index 6e6497d..746090f 100644 --- a/Dockerfile-Unit-Test +++ b/Dockerfile-Unit-Test @@ -14,16 +14,41 @@ # See the License for the specific language governing permissions and # limitations under the License. # ================================================================================== -FROM python:3.8-alpine +FROM python:3.8-slim as stretch # sdl uses hiredis which needs gcc -RUN apk update && apk add gcc musl-dev +RUN apt-get update && \ + apt-get install -y \ + wget gcc musl-dev -# copy rmr libraries from builder image in lieu of an Alpine package -COPY --from=nexus3.o-ran-sc.org:10002/o-ran-sc/bldr-alpine3-rmr:4.1.2 /usr/local/lib64/librmr* /usr/local/lib64/ +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 +RUN pip install --upgrade pip && pip install tox && pip install certifi six python_dateutil setuptools urllib3 inotify_simple mdclogpy # copies COPY ricxappframe/ /tmp/ricxappframe @@ -31,5 +56,12 @@ 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