From 9b97005b5b8aa0c059ac9d059a63598974dcdf1b Mon Sep 17 00:00:00 2001 From: Kamil Skwarczynski Date: Thu, 7 Nov 2024 13:33:16 +0000 Subject: [PATCH 1/2] I think I figured how to do CUDA compilation check with bot --- .github/workflows/CIBuild.yml | 4 +++ Doc/MaCh3DockerFiles/Rocky9/Dockerfile | 42 ++++++++++++++++++++++++++ README.md | 1 + 3 files changed, 47 insertions(+) create mode 100644 Doc/MaCh3DockerFiles/Rocky9/Dockerfile diff --git a/.github/workflows/CIBuild.yml b/.github/workflows/CIBuild.yml index 6810fc740..81109e679 100644 --- a/.github/workflows/CIBuild.yml +++ b/.github/workflows/CIBuild.yml @@ -30,6 +30,10 @@ jobs: file: Doc/MaCh3DockerFiles/Fedora32/Dockerfile tag: fedora32latest cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON -DMaCh3_LOW_MEMORY_STRUCTS_ENABLED=ON + - os: Rocky9 CUDA + file: Doc/MaCh3DockerFiles/Rocky9/Dockerfile + tag: rocky9latest + cmakeoptions: -DMaCh3_PYTHON_ENABLED=ON name: Build CI ${{ matrix.os }} diff --git a/Doc/MaCh3DockerFiles/Rocky9/Dockerfile b/Doc/MaCh3DockerFiles/Rocky9/Dockerfile new file mode 100644 index 000000000..3e284af7a --- /dev/null +++ b/Doc/MaCh3DockerFiles/Rocky9/Dockerfile @@ -0,0 +1,42 @@ +#To run use: docker build -t mach3 . +# KS: Get glorious container from Kamil which will work as a base +FROM kamilskwarczynski/nukamil:rocky9cudalatest AS mach3_build + +# Add a label for the author +LABEL maintainer="The MaCh3 Collaboration" +LABEL website="https://mach3-software.github.io/MaCh3/" +LABEL org.opencontainers.image.description="Official MaCh3 container" + +# Declare the build argument +ARG MACH3_VERSION +ENV MACH3_VERSION=${MACH3_VERSION:-develop} + +ARG CMAKE_OPTIONS +ENV CMAKE_OPTIONS=${CMAKE_OPTIONS:-DMaCh3_PYTHON_ENABLED=ON} + +ARG INSTALL_OPTIONS +ENV INSTALL_OPTIONS=${INSTALL_OPTIONS:-"VERBOSE=1"} + +ENV MACH3_WORK_DIR=/opt/MaCh3/ +ENV MACH3_INSTALL_DIR=/opt/MaCh3/build/ + +RUN mkdir -p ${MACH3_WORK_DIR} + +WORKDIR /opt/ +# KS: Let's clone MaCh3 +RUN --mount=type=ssh git clone https://github.com/mach3-software/MaCh3 ${MACH3_WORK_DIR} +WORKDIR ${MACH3_WORK_DIR} +RUN git checkout ${MACH3_VERSION} + +RUN mkdir -p ${MACH3_INSTALL_DIR} +WORKDIR ${MACH3_INSTALL_DIR} +RUN cmake ${CMAKE_OPTIONS} ${MACH3_WORK_DIR} +RUN make ${INSTALL_OPTIONS} && make install + +# KS: Need to set them here, otherwise container using this container will not be able to find MaCh3 +ENV MaCh3_ROOT=${MACH3_INSTALL_DIR} +ENV PATH=${MaCh3_ROOT}/bin:${PATH} \ + LD_LIBRARY_PATH=${MaCh3_ROOT}/lib:${LD_LIBRARY_PATH} + +# Start from MaCh3 install dir +WORKDIR ${MACH3_INSTALL_DIR} diff --git a/README.md b/README.md index 967e177fc..19c1d19e5 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,7 @@ Based on several test here are recommended version: | Name | Status | |-------------|--------| | Alma9 | ✅ | +| Rocky9 | ✅ | | Ubuntu22.04 | ✅ | | Fedora32 | ✅ | | CentOS7 | ❔ | From e8e88ff1b6c2293eebbb4c4cfeb8361bd584dc11 Mon Sep 17 00:00:00 2001 From: Kamil <45295406+KSkwarczynski@users.noreply.github.com> Date: Thu, 7 Nov 2024 13:37:41 +0000 Subject: [PATCH 2/2] arg... --- Doc/MaCh3DockerFiles/Rocky9/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Doc/MaCh3DockerFiles/Rocky9/Dockerfile b/Doc/MaCh3DockerFiles/Rocky9/Dockerfile index 3e284af7a..c5dd237b6 100644 --- a/Doc/MaCh3DockerFiles/Rocky9/Dockerfile +++ b/Doc/MaCh3DockerFiles/Rocky9/Dockerfile @@ -1,6 +1,6 @@ #To run use: docker build -t mach3 . # KS: Get glorious container from Kamil which will work as a base -FROM kamilskwarczynski/nukamil:rocky9cudalatest AS mach3_build +FROM kamilskwarczynski/nukamil:latest AS mach3_build # Add a label for the author LABEL maintainer="The MaCh3 Collaboration"