FROM aellery/esys.escript.trilinos

LABEL maintainer="a.ellery@uq.edu.au"

WORKDIR /app

ENV DEBIAN_FRONTEND=noninteractive
RUN echo deb http://deb.debian.org/debian/ buster main non-free contrib >> /etc/apt/sources.list
RUN apt-get update 

# escript
WORKDIR /app/escript
RUN git clone https://github.com/esys-escript/esys-escript.github.io --depth 1 -b 6.0 .
ENV LD_LIBRARY_PATH=/app/escript/lib:/usr/local/lib:$LD_LIBRARY_PATH
ENV PYTHONPATH=/app/escript:$PYTHONPATH
ENV PATH=/app/escript/bin:$PATH
ENV OMPI_ALLOW_RUN_AS_ROOT=1 
ENV OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
RUN scons options_file=scons/templates/docker_testing.py \
      boost_libs=boost_python39 -j`nproc --ignore=2` werror=0 \
      trilinos=1 trilinos_prefix=/usr/local \
      mpi='OPENMPI' mpi_prefix=/usr/lib/x86_64-linux-gnu/openmpi/ \
      openmp=1 verbose=1  \
      build_full || cat config.log \
      && eval `bin/run-escript -e` && ./utest.sh /app/escript/build '-n1 -p1 -t1'

# final steps
USER appuser
RUN chown -R appuser /app
RUN run-escript /app/escript/scripts/release_sanity.py
RUN rm -rf *

CMD ["/bin/bash"]
