From 4a332cc13064d651a3438de02dbeb4f71b0bb2d6 Mon Sep 17 00:00:00 2001
From: Simon Schwitanski <schwitanski@itc.rwth-aachen.de>
Date: Tue, 19 Mar 2024 22:58:32 +0100
Subject: [PATCH] Run checks as non-privileged user

---
 Dockerfile | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 2638c7b..fe958b4 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -95,18 +95,24 @@ FROM base-${MPI_FLAVOR} AS final
 ARG MUST_VERSION=1.9.2
 # Build and install MUST
 RUN mkdir -p /opt/must/
+WORKDIR /build
 RUN wget https://hpc.rwth-aachen.de/must/files/MUST-v${MUST_VERSION}.tar.gz && \
-    tar -xf MUST-v${MUST_VERSION}.tar.gz && cd MUST-v${MUST_VERSION} && \
-    mkdir build && \
-    cd build && \
+    tar -xf MUST-v${MUST_VERSION}.tar.gz && mkdir -p MUST-v${MUST_VERSION}/build
+
+RUN cd MUST-v${MUST_VERSION}/build && \
     CC=clang CXX=clang++ MPICH_CC=clang MPICH_CXX=clang++ OMPI_CC=clang OMPI_CXX=clang \
       cmake .. -DCMAKE_INSTALL_PREFIX=/opt/must -DUSE_BACKWARD=ON -DENABLE_TESTS=ON -DENABLE_FORTRAN=ON -DLLVM_FILECHECK_PATH=$(which FileCheck) -DCMAKE_BUILD_TYPE=Release && \
-    make install -j8 install-prebuilds && \
-    make check-basic -j8 && \
-    rm /MUST-v${MUST_VERSION}.tar.gz && \
-    rm -r -f /MUST-v${MUST_VERSION}
+    make install -j8 install-prebuilds
 
-# Run as non-privileged user
+# Run checks as non-privileged user (required for OpenMPI)
 RUN useradd -ms /bin/bash user
+RUN chown -R user /build
 USER user
+
+RUN cd MUST-v${MUST_VERSION}/build && \
+    make check-minimal -j8
+
+RUN rm -r /build
+
+# Run container as non-privileged user
 WORKDIR /home/user
\ No newline at end of file
-- 
GitLab