-
Notifications
You must be signed in to change notification settings - Fork 0
/
debian-gnu
28 lines (23 loc) · 1.74 KB
/
debian-gnu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# vim: filetype=dockerfile:
FROM debian:stable
# Install system-wide prerequisites
RUN apt-get update -y && apt-get install -y git cmake gcc gfortran g++ openmpi-bin libopenmpi-dev ninja-build m4 autoconf libpugixml-dev libpstreams-dev libboost-all-dev libblas-dev liblapack-dev liblapacke-dev zlib1g-dev libhdf5-dev libhdf5-openmpi-dev binutils-dev libx11-dev libxpm-dev libxft-dev libxext-dev libdw-dev libdwarf-dev gmsh vim liblua5.3-dev
# User configuration
RUN adduser --gecos "" --disabled-password quinoa
USER quinoa
WORKDIR /home/quinoa
CMD ["/bin/bash"]
# Clone quinoa
ARG BRANCH
RUN git clone -b $BRANCH --recurse-submodules http://github.com/quinoacomputing/quinoa.git
# Checkout commit to be tested
ARG COMMIT
RUN cd quinoa && git checkout $COMMIT && git log -1 HEAD
# Update submodules
RUN cd quinoa && git submodule init && git submodule update --recursive && cd external && git submodule init && git submodule update --recursive && cd .. && git submodule status --recursive
# Build TPLs
RUN mkdir -p quinoa/external/build && cd quinoa/external/build && cmake -DENABLE_ROOT=true -DENABLE_OMEGA_H=true -DENABLE_EXAM2M=true -DENABLE_DOXYGEN=false -DENABLE_MCSS=false -DCMAKE_INSTALL_PREFIX=/home/quinoa/external/gnu -DCXXFLAGS=-w .. && make -sj$(grep -c processor /proc/cpuinfo)
# Build code, run tests (comment this when verified, before docker push)
#RUN mkdir -p quinoa/build && cd quinoa/build && cmake -DCMAKE_CXX_FLAGS=-Werror -DTPL_DIR=/home/quinoa/external/gnu -GNinja -DRUNNER=mpirun -DRUNNER_NCPUS_ARG=-n -DRUNNER_ARGS="--bind-to none -oversubscribe" ../src && ninja && mpirun -n $(grep -c processor /proc/cpuinfo) Main/unittest -v -q && ctest -j $(grep -c processor /proc/cpuinfo) --output-on-failure -LE extreme
# Clean, keep TPLs
RUN rm -rf quinoa