Skip to content

Commit 10dc8f7

Browse files
committed
Docker container recipe for v0.1.0.
1 parent 732e4ce commit 10dc8f7

File tree

3 files changed

+24
-26
lines changed

3 files changed

+24
-26
lines changed

.github/workflows/Dockerfile

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,15 @@
1-
FROM ubuntu:18.04
1+
FROM ubuntu:22.04
22

3-
ENV USERNAME=env
3+
ENV ENVDIR=env
44

55
# install sudo
66
RUN apt-get -yq update && apt-get -yq install sudo
77

8-
# create and switch to a user
9-
RUN echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
10-
RUN useradd --no-log-init --home-dir /home/$USERNAME --create-home --shell /bin/bash $USERNAME
11-
RUN adduser $USERNAME sudo
12-
USER $USERNAME
13-
WORKDIR /home/$USERNAME
8+
WORKDIR /$ENVDIR
149

1510
# install packages
1611
RUN sudo apt-get install -yq git
17-
RUN sudo apt-get install --no-install-recommends -yq make gcc gfortran libssl-dev
12+
RUN sudo apt-get install --no-install-recommends -yq make gcc gfortran libssl-dev cmake
1813
RUN sudo apt-get install -yq libopenblas-dev libmpich-dev libblas-dev liblapack-dev libscalapack-mpi-dev libhdf5-serial-dev
1914
RUN sudo apt-get install -yq vim
2015
RUN sudo apt-get install -yq git-lfs
@@ -24,24 +19,16 @@ RUN sudo apt-get install -yq wget
2419
RUN sudo apt-get clean -q
2520

2621
# download dependencies
27-
ENV LIB_DIR=/home/$USERNAME/dependencies
22+
ENV LIB_DIR=/$ENVDIR/dependencies
2823
WORKDIR $LIB_DIR
2924

30-
RUN wget https://github.com/Kitware/CMake/releases/download/v3.13.0/cmake-3.13.0.tar.gz
3125
#RUN wget -O mfem-4.5.tar.gz https://github.com/mfem/mfem/archive/refs/tags/v4.5.tar.gz
3226
RUN wget -O hypre-2.20.0.tar.gz https://github.com/hypre-space/hypre/archive/refs/tags/v2.20.0.tar.gz
3327
RUN wget -O parmetis-4.0.3.tar.gz http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz
3428
RUN wget -O gslib-1.0.7.tar.gz https://github.com/gslib/gslib/archive/v1.0.7.tar.gz
3529
#RUN wget -O glvis-4.2.tar.gz https://github.com/GLVis/glvis/archive/refs/tags/v4.2.tar.gz
3630
#RUN wget -O metis-4.0.3.tar.gz https://github.com/mfem/tpls/raw/gh-pages/metis-4.0.3.tar.gz
3731

38-
# install cmake-3.13.0
39-
RUN tar -zxvf cmake-3.13.0.tar.gz
40-
WORKDIR ./cmake-3.13.0
41-
RUN ./bootstrap
42-
RUN make
43-
RUN sudo make install
44-
WORKDIR $LIB_DIR
4532

4633
ENV CFLAGS="-fPIC"
4734
ENV CPPFLAGS="-fPIC"
@@ -113,6 +100,17 @@ RUN ln -s ./ include
113100
WORKDIR $LIB_DIR
114101
RUN ln -s mfem_parallel mfem
115102

103+
# install googletest
104+
WORKDIR $LIB_DIR
105+
RUN git clone https://github.com/google/googletest
106+
WORKDIR ./googletest
107+
# Last release that supports c++11
108+
RUN git checkout tags/release-1.12.1 -b v1.12.1
109+
WORKDIR ./build
110+
RUN cmake ..
111+
RUN make
112+
RUN sudo make install
113+
116114
# clean up
117115
WORKDIR $LIB_DIR
118116
RUN rm *.tar.gz
@@ -121,7 +119,7 @@ RUN rm *.tar.gz
121119
RUN echo 'set(CMAKE_C_COMPILER mpicc)\n\
122120
set(CMAKE_CXX_COMPILER mpicxx)\n\
123121
set(CMAKE_Fortran_COMPILER mpif90)\n\
124-
set(LIB_DIR /home/env/dependencies)\n\
122+
set(LIB_DIR /env/dependencies)\n\
125123
set(MFEM_DIR ${LIB_DIR}/mfem)\n\
126124
set(HYPRE_DIR ${LIB_DIR}/hypre/src/hypre)\n\
127125
set(PARMETIS_DIR ${LIB_DIR}/parmetis-4.0.3/build/lib/libparmetis)\n\
@@ -137,5 +135,10 @@ ENV HYPRE_DIR=$LIB_DIR/hypre/src/hypre
137135
ENV PARMETIS_DIR=$LIB_DIR/parmetis-4.0.3/build/lib/libparmetis
138136
ENV METIS_DIR=$LIB_DIR/parmetis-4.0.3/build/lib/libmetis
139137

140-
#WORKDIR /home
141-
#RUN useradd -u 1000 -m test
138+
# create and switch to a user
139+
ENV USERNAME=test
140+
RUN echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
141+
RUN useradd --no-log-init -u 1001 --create-home --shell /bin/bash $USERNAME
142+
RUN adduser $USERNAME sudo
143+
USER $USERNAME
144+
WORKDIR /home/$USERNAME

.github/workflows/ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ jobs:
2323
run: |
2424
mkdir ${GITHUB_WORKSPACE}/build
2525
cd ${GITHUB_WORKSPACE}/build
26-
pwd
2726
cmake .. -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=Debug -DUSE_MFEM=${USE_MFEM} -DMFEM_USE_GSLIB=${MFEM_USE_GSLIB}
2827
make
2928
cmake .. -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=Optimized -DUSE_MFEM=${USE_MFEM} -DMFEM_USE_GSLIB=${MFEM_USE_GSLIB}
@@ -36,7 +35,6 @@ jobs:
3635
cd libROM
3736
mkdir build
3837
cd build
39-
pwd
4038
cmake .. -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=Debug -DUSE_MFEM=${USE_MFEM} -DMFEM_USE_GSLIB=${MFEM_USE_GSLIB}
4139
make
4240
cmake .. -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=Optimized -DUSE_MFEM=${USE_MFEM} -DMFEM_USE_GSLIB=${MFEM_USE_GSLIB}

.github/workflows/run_tests/action.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ runs:
44
- name: Run unit tests
55
run: |
66
cd ${GITHUB_WORKSPACE}/build
7-
pwd
8-
ls
9-
ls ./tests/
107
./tests/test_SVD
118
./tests/test_Vector
129
./tests/test_Matrix

0 commit comments

Comments
 (0)