Mostly integration test work:
[ric-plt/a1.git] / Dockerfile-Unit-Test
index 882b759..dbb5401 100644 (file)
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 # ==================================================================================
+# install a well known working rmr
 FROM python:3.7-alpine
+RUN apk update && apk add autoconf automake build-base cmake libtool ninja pkgconfig git
+RUN git clone --branch 1.10.2 https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr \
+    && cd rmr \
+    && mkdir build \
+    && cd build \
+    && cmake .. -DPACK_EXTERNALS=1 \
+    && make install
 
-# copy NNG and rmr out of the  CI builder nng
-COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:3-a3.9 /usr/local/lib64/libnng.so /usr/local/lib64/libnng.so
-COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:3-a3.9 /usr/local/lib64/librmr_nng.so /usr/local/lib64/librmr_nng.so
-
-COPY a1/ /tmp/a1
-COPY tests/ /tmp/tests
-COPY setup.py tox.ini /tmp/
-WORKDIR /tmp
+FROM python:3.7-alpine
 
 # dir that rmr routing file temp goes into
 RUN mkdir -p /opt/route/
 
-# Gevent needs gcc; TODO: this will get fixed
+# Gevent needs gcc
 RUN apk add gcc musl-dev
 
-# Upgrade pip, install tox
-RUN pip install --upgrade pip && pip install tox
+# Upgrade pip, install tox (gevent is installed as a speed hack in local dev where tox is run many times)
+RUN pip install --upgrade pip && pip install tox gevent
+
+# copies
+COPY --from=0 /usr/local/lib64/libnng.so /usr/local/lib64/libnng.so
+COPY --from=0 /usr/local/lib64/librmr_nng.so /usr/local/lib64/librmr_nng.so
+COPY a1/ /tmp/a1
+COPY tests/ /tmp/tests
+COPY setup.py tox.ini /tmp/
+WORKDIR /tmp
 
 # Run the unit tests
-RUN tox
+RUN tox -e py37,flake8