diff --git a/ci-scripts/dockerfiles/Lmod-base.dockerfile b/ci-scripts/dockerfiles/Lmod-base.dockerfile new file mode 100644 index 0000000000..6ead08e747 --- /dev/null +++ b/ci-scripts/dockerfiles/Lmod-base.dockerfile @@ -0,0 +1,28 @@ +FROM ubuntu:20.04 + +ENV TZ=Europe/Zurich +ENV DEBIAN_FRONTEND=noninteractive +ENV _LMOD_VER=8.4.12 + +# ReFrame requirements +RUN \ + apt-get -y update && \ + apt-get -y install ca-certificates && \ + update-ca-certificates && \ + apt-get -y install gcc make git python3 python3-pip + +# Required utilities +RUN apt-get -y install wget + +# Install Lmod +RUN \ + apt-get -y install lua5.3 lua-bit32:amd64 lua-posix:amd64 lua-posix-dev liblua5.3-0:amd64 liblua5.3-dev:amd64 tcl tcl-dev tcl8.6 tcl8.6-dev:amd64 libtcl8.6:amd64 && \ + wget -q https://github.com/TACC/Lmod/archive/${_LMOD_VER}.tar.gz -O lmod.tar.gz && \ + tar xzf lmod.tar.gz && \ + cd Lmod-${_LMOD_VER} && \ + ./configure && make install && \ + cd .. && rm -rf lmod.tar.gz Lmod-${_LMOD_VER} && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +ENV BASH_ENV=/usr/local/lmod/lmod/init/profile diff --git a/ci-scripts/dockerfiles/Lmod.dockerfile b/ci-scripts/dockerfiles/Lmod.dockerfile index 534684555f..e96afe6841 100644 --- a/ci-scripts/dockerfiles/Lmod.dockerfile +++ b/ci-scripts/dockerfiles/Lmod.dockerfile @@ -2,38 +2,12 @@ # Execute this from the top-level ReFrame source directory # -FROM ubuntu:20.04 -ENV TZ=Europe/Zurich -ENV DEBIAN_FRONTEND=noninteractive -ENV _LMOD_VER=8.4.12 +FROM reframehpc/rfm-ci-base:lmod # ReFrame user RUN useradd -ms /bin/bash rfmuser -# ReFrame requirements -RUN \ - apt-get -y update && \ - apt-get -y install ca-certificates && \ - update-ca-certificates && \ - apt-get -y install gcc && \ - apt-get -y install make && \ - apt-get -y install git && \ - apt-get -y install python3 python3-pip - -# Required utilities -RUN apt-get -y install wget - -# Install Lmod -RUN \ - apt-get -y install lua5.3 lua-bit32:amd64 lua-posix:amd64 lua-posix-dev liblua5.3-0:amd64 liblua5.3-dev:amd64 tcl tcl-dev tcl8.6 tcl8.6-dev:amd64 libtcl8.6:amd64 && \ - wget -q https://github.com/TACC/Lmod/archive/${_LMOD_VER}.tar.gz -O lmod.tar.gz && \ - tar xzf lmod.tar.gz && \ - cd Lmod-${_LMOD_VER} && \ - ./configure && make install - -ENV BASH_ENV=/usr/local/lmod/lmod/init/profile - USER rfmuser # Install ReFrame from the current directory diff --git a/ci-scripts/dockerfiles/Lmod77-base.dockerfile b/ci-scripts/dockerfiles/Lmod77-base.dockerfile new file mode 100644 index 0000000000..53238abab4 --- /dev/null +++ b/ci-scripts/dockerfiles/Lmod77-base.dockerfile @@ -0,0 +1,34 @@ +# +# LMod versions prior to 8.2 emitted Python commands differently, so we use this +# Dockerfile to test the bindings of older versions +# + + +FROM ubuntu:20.04 + +ENV TZ=Europe/Zurich +ENV DEBIAN_FRONTEND=noninteractive +ENV _LMOD_VER=7.7 + +# ReFrame requirements +RUN \ + apt-get -y update && \ + apt-get -y install ca-certificates && \ + update-ca-certificates && \ + apt-get -y install gcc make git python3 python3-pip + +# Required utilities +RUN apt-get -y install wget + +# Install Lmod +RUN \ + apt-get -y install lua5.3 lua-bit32:amd64 lua-posix:amd64 lua-posix-dev liblua5.3-0:amd64 liblua5.3-dev:amd64 tcl tcl-dev tcl8.6 tcl8.6-dev:amd64 libtcl8.6:amd64 lua-filesystem:amd64 lua-filesystem-dev:amd64 && \ + wget -q https://github.com/TACC/Lmod/archive/${_LMOD_VER}.tar.gz -O lmod.tar.gz && \ + tar xzf lmod.tar.gz && \ + cd Lmod-${_LMOD_VER} && \ + ./configure && make install && \ + cd .. && rm -rf lmod.tar.gz Lmod-${_LMOD_VER} && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +ENV BASH_ENV=/usr/local/lmod/lmod/init/profile diff --git a/ci-scripts/dockerfiles/Lmod77.dockerfile b/ci-scripts/dockerfiles/Lmod77.dockerfile index 7c349fb17a..24da98da33 100644 --- a/ci-scripts/dockerfiles/Lmod77.dockerfile +++ b/ci-scripts/dockerfiles/Lmod77.dockerfile @@ -2,44 +2,12 @@ # Execute this from the top-level ReFrame source directory # -# -# LMod versions prior to 8.2 emitted Python commands differently, so we use this -# Dockerfile to test the bindings of older versions -# - -FROM ubuntu:20.04 - -ENV TZ=Europe/Zurich -ENV DEBIAN_FRONTEND=noninteractive -ENV _LMOD_VER=7.7 +FROM reframehpc/rfm-ci-base:lmod77 # ReFrame user RUN useradd -ms /bin/bash rfmuser -# ReFrame requirements -RUN \ - apt-get -y update && \ - apt-get -y install ca-certificates && \ - update-ca-certificates && \ - apt-get -y install gcc && \ - apt-get -y install make && \ - apt-get -y install git && \ - apt-get -y install python3 python3-pip - -# Required utilities -RUN apt-get -y install wget - -# Install Lmod -RUN \ - apt-get -y install lua5.3 lua-bit32:amd64 lua-posix:amd64 lua-posix-dev liblua5.3-0:amd64 liblua5.3-dev:amd64 tcl tcl-dev tcl8.6 tcl8.6-dev:amd64 libtcl8.6:amd64 lua-filesystem:amd64 lua-filesystem-dev:amd64 && \ - wget -q https://github.com/TACC/Lmod/archive/${_LMOD_VER}.tar.gz -O lmod.tar.gz && \ - tar xzf lmod.tar.gz && \ - cd Lmod-${_LMOD_VER} && \ - ./configure && make install - -ENV BASH_ENV=/usr/local/lmod/lmod/init/profile - USER rfmuser # Install ReFrame from the current directory diff --git a/ci-scripts/dockerfiles/Tmod32-base.dockerfile b/ci-scripts/dockerfiles/Tmod32-base.dockerfile new file mode 100644 index 0000000000..2b52cd78a0 --- /dev/null +++ b/ci-scripts/dockerfiles/Tmod32-base.dockerfile @@ -0,0 +1,10 @@ +FROM centos:7 + +# ReFrame requirements +RUN \ + yum -y install gcc make git python3 + +# Install Tmod 3.2 +RUN yum -y install environment-modules && \ + yum clean all && \ + rm -rf /var/cache/yum diff --git a/ci-scripts/dockerfiles/Tmod32.dockerfile b/ci-scripts/dockerfiles/Tmod32.dockerfile index fdf6cd42d2..5f1d97372b 100644 --- a/ci-scripts/dockerfiles/Tmod32.dockerfile +++ b/ci-scripts/dockerfiles/Tmod32.dockerfile @@ -2,24 +2,11 @@ # Execute this from the top-level ReFrame source directory # -FROM centos:7 +FROM reframehpc/rfm-ci-base:tmod32 # ReFrame user RUN useradd -ms /bin/bash rfmuser -# ReFrame requirements -RUN \ - yum -y install gcc && \ - yum -y install make && \ - yum -y install git && \ - yum -y install python3 - -# # Required utilities -# RUN apt-get -y install wget - -# Install Tmod 3.2 -RUN yum -y install environment-modules - USER rfmuser # Install ReFrame from the current directory diff --git a/ci-scripts/dockerfiles/Tmod4-base.dockerfile b/ci-scripts/dockerfiles/Tmod4-base.dockerfile new file mode 100644 index 0000000000..bdea0bb358 --- /dev/null +++ b/ci-scripts/dockerfiles/Tmod4-base.dockerfile @@ -0,0 +1,28 @@ +FROM ubuntu:20.04 + +ENV TZ=Europe/Zurich +ENV DEBIAN_FRONTEND=noninteractive +ENV _TMOD_VER=4.6.0 + +# ReFrame requirements +RUN \ + apt-get -y update && \ + apt-get -y install ca-certificates && \ + update-ca-certificates && \ + apt-get -y install gcc make git python3 python3-pip + +# Required utilities +RUN apt-get -y install wget + +# Install Tmod4 +RUN \ + apt-get -y install autoconf tcl-dev && \ + wget -q https://github.com/cea-hpc/modules/archive/v${_TMOD_VER}.tar.gz -O tmod.tar.gz && \ + tar xzf tmod.tar.gz && \ + cd modules-${_TMOD_VER} && \ + ./configure && make install && \ + cd .. && rm -rf tmod.tar.gz modules-${_TMOD_VER} && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +ENV BASH_ENV=/usr/local/Modules/init/profile.sh diff --git a/ci-scripts/dockerfiles/Tmod4.dockerfile b/ci-scripts/dockerfiles/Tmod4.dockerfile index 3313ee3465..085471a55f 100644 --- a/ci-scripts/dockerfiles/Tmod4.dockerfile +++ b/ci-scripts/dockerfiles/Tmod4.dockerfile @@ -2,39 +2,11 @@ # Execute this from the top-level ReFrame source directory # -FROM ubuntu:20.04 - -ENV TZ=Europe/Zurich -ENV DEBIAN_FRONTEND=noninteractive -ENV _TMOD_VER=4.6.0 +FROM reframehpc/rfm-ci-base:tmod4 # ReFrame user RUN useradd -ms /bin/bash rfmuser -# ReFrame requirements -RUN \ - apt-get -y update && \ - apt-get -y install ca-certificates && \ - update-ca-certificates && \ - apt-get -y install gcc && \ - apt-get -y install make && \ - apt-get -y install git && \ - apt-get -y install python3 python3-pip - -# Required utilities -RUN apt-get -y install wget - -# Install Tmod4 -RUN \ - apt-get -y install autoconf && \ - apt-get -y install tcl-dev && \ - wget -q https://github.com/cea-hpc/modules/archive/v${_TMOD_VER}.tar.gz -O tmod.tar.gz && \ - tar xzf tmod.tar.gz && \ - cd modules-${_TMOD_VER} && \ - ./configure && make install - -ENV BASH_ENV=/usr/local/Modules/init/profile.sh - USER rfmuser # Install ReFrame from the current directory