diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 27b0da4..e300554 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,8 +22,8 @@ jobs: strategy: matrix: include: - - name: "focal - ompi v5.0.x, chain_lint" - image: "focal" + - name: "jammy - ompi v5.0.x, chain_lint" + image: "jammy" ompi_branch: "v5.0.0rc12" openpmix_branch: "v4.2.3" coverage: false @@ -43,7 +43,7 @@ jobs: coverage: false env: {} - name: "coverage" - image: "focal" + image: "jammy" ompi_branch: "v5.0.0rc12" openpmix_branch: "v4.2.3" coverage: true @@ -55,26 +55,26 @@ jobs: openpmix_branch: "v4.2.3" coverage: false env: {} - - name: "focal - ompi v4.1.x" - image: "focal" + - name: "jammy - ompi v4.1.x" + image: "jammy" ompi_branch: "v4.1.x" openpmix_branch: "v4.2.2" coverage: false env: {} - - name: "focal - ompi v4.0.x" - image: "focal" + - name: "jammy - ompi v4.0.x" + image: "jammy" ompi_branch: "v4.0.x" openpmix_branch: "v4.2.2" coverage: false env: {} - - name: "focal - ompi v3.1.x" - image: "focal" + - name: "jammy - ompi v3.1.x" + image: "jammy" ompi_branch: "v3.1.x" openpmix_branch: "v4.2.2" coverage: false env: {} - - name: "focal - ompi v3.0.x" - image: "focal" + - name: "jammy - ompi v3.0.x" + image: "jammy" ompi_branch: "v3.0.x" openpmix_branch: "v4.2.2" coverage: false diff --git a/src/test/docker/jammy/Dockerfile b/src/test/docker/jammy/Dockerfile new file mode 100644 index 0000000..b9f9e25 --- /dev/null +++ b/src/test/docker/jammy/Dockerfile @@ -0,0 +1,60 @@ +FROM fluxrm/flux-core:jammy + +ARG USER=fluxuser +ARG UID=1000 +ARG OMPI_BRANCH=v5.0.x +ARG OPENPMIX_BRANCH=v4.2.4 + +RUN \ + if test "$USER" != "fluxuser"; then \ + sudo groupadd -g $UID $USER \ + && sudo useradd -g $USER -u $UID -d /home/$USER -m $USER \ + && sudo sh -c "printf \"$USER ALL= NOPASSWD: ALL\\n\" >> /etc/sudoers" \ + && sudo adduser $USER sudo ; \ + fi + +# remove installed mpich / openmpi / pmix +RUN sudo apt purge -yy mpich libmpich-dev \ + && sudo apt clean + +# install ompi prereqs +RUN sudo apt-get update \ + && sudo apt-get -qq install -y --no-install-recommends \ + libevent-dev \ + flex \ + openssh-client \ + && sudo apt clean \ + && sudo rm -rf /var/lib/apt/lists/* + +# build/install openpmix +RUN cd /tmp \ + && git clone -b ${OPENPMIX_BRANCH} \ + --recursive --depth=1 https://github.com/openpmix/openpmix \ + && cd openpmix \ + && git branch \ + && ./autogen.pl \ + && ./configure --prefix=/usr \ + --enable-debug --disable-sphinx \ + && make -j $(nproc) \ + && sudo make install \ + && cd .. \ + && rm -rf openpmix + +# build/install ompi +RUN cd /tmp \ + && git clone -b ${OMPI_BRANCH} \ + --recursive --depth=1 https://github.com/open-mpi/ompi \ + && cd ompi \ + && git branch \ + && ./autogen.pl \ + && ./configure --prefix=/usr \ + --disable-man-pages --enable-debug --enable-mem-debug \ + --with-pmix=external --with-libevent --disable-sphinx \ + && make -j $(nproc) \ + && sudo make install \ + && cd .. \ + && rm -rf ompi + +USER $USER +WORKDIR /home/$USER +