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

# copy rmr .so from builder image in lieu of an Alpine package
COPY --from=nexus3.o-ran-sc.org:10002/o-ran-sc/bldr-alpine3-rmr:3.8.0 /usr/local/lib64/librmr_si.so /usr/local/lib64/librmr_si.so

# dir that rmr routing file temp goes into
RUN mkdir -p /opt/route/

# Gevent needs gcc
RUN apk add gcc musl-dev

# 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 a1/ /tmp/a1
COPY tests/ /tmp/tests
COPY setup.py tox.ini /tmp/
WORKDIR /tmp

# Run the unit tests
RUN tox -e py38,flake8
