From 11a3821912bc240aec4118197ad56a6b07a4417a Mon Sep 17 00:00:00 2001 From: Jim Garlick Date: Wed, 11 Dec 2024 09:16:20 -0800 Subject: [PATCH 1/6] docker: migrate fedora34 to fedora40 Problem: the fluxrm/flux-core:fedora34 docker image is no longer being updated. Replace fedora34 with fedora40 to match flux-core. --- src/test/docker/{fedora34 => fedora40}/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename src/test/docker/{fedora34 => fedora40}/Dockerfile (91%) diff --git a/src/test/docker/fedora34/Dockerfile b/src/test/docker/fedora40/Dockerfile similarity index 91% rename from src/test/docker/fedora34/Dockerfile rename to src/test/docker/fedora40/Dockerfile index dff1344..2ca0864 100644 --- a/src/test/docker/fedora34/Dockerfile +++ b/src/test/docker/fedora40/Dockerfile @@ -1,9 +1,9 @@ -FROM fluxrm/flux-core:fedora34 +FROM fluxrm/flux-core:fedora40 ARG USER=fluxuser ARG UID=1000 ARG OMPI_BRANCH=v5.0.x -ARG OPENPMIX_BRANCH=v4.2.2 +ARG OPENPMIX_BRANCH=v4.2.9 RUN \ if test "$USER" != "fluxuser"; then \ @@ -20,7 +20,7 @@ RUN sudo yum -y update \ flex \ libevent-devel \ zlib-devel \ - && sudo yum -y remove mpich mpich-devel \ + && sudo yum -y remove mpich mpich-devel pmix pmix-devel \ && sudo yum clean all # build/install openpmix From a01567bd1e9b084a91b4690a0bff703f75cf6ca6 Mon Sep 17 00:00:00 2001 From: Jim Garlick Date: Wed, 11 Dec 2024 10:18:07 -0800 Subject: [PATCH 2/6] docker: update default el8 OPENPMIX BRANCH Problem: the el8 docker image won't build without overriding OPENPMIX_BRANCH because the default is too old. Update OPENPMIX_BRANCH to 4.2.9 to match the other Dockerfiles. --- src/test/docker/el8/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/docker/el8/Dockerfile b/src/test/docker/el8/Dockerfile index 204a6a6..54517a0 100644 --- a/src/test/docker/el8/Dockerfile +++ b/src/test/docker/el8/Dockerfile @@ -3,7 +3,7 @@ FROM fluxrm/flux-core:el8 ARG USER=fluxuser ARG UID=1000 ARG OMPI_BRANCH=v5.0.x -ARG OPENPMIX_BRANCH=v4.2.2 +ARG OPENPMIX_BRANCH=v4.2.9 RUN \ if test "$USER" != "fluxuser"; then \ From 791ec14b316051a0aa5bd7e302081277a577a382 Mon Sep 17 00:00:00 2001 From: Jim Garlick Date: Wed, 11 Dec 2024 11:00:37 -0800 Subject: [PATCH 3/6] docker: add el9 image Problem: flux-pmix is not tested on el9. Add an el9 Dockerfile. --- src/test/docker/el9/Dockerfile | 57 ++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/test/docker/el9/Dockerfile diff --git a/src/test/docker/el9/Dockerfile b/src/test/docker/el9/Dockerfile new file mode 100644 index 0000000..398cbff --- /dev/null +++ b/src/test/docker/el9/Dockerfile @@ -0,0 +1,57 @@ +FROM fluxrm/flux-core:el9 + +ARG USER=fluxuser +ARG UID=1000 +ARG OMPI_BRANCH=v5.0.x +ARG OPENPMIX_BRANCH=v4.2.9 + +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 usermod -G wheel $USER \ + && sudo usermod -G wheel fluxuser ; \ + fi + +# install ompi prereqs +RUN sudo yum -y update \ + && sudo yum -y install \ + libevent-devel \ + zlib-devel \ + && sudo yum -y remove mpich mpich-devel \ + && sudo yum clean all + + # 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 rm -rf /usr/lib64/pmix \ + && 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 + From 586c180335e374e447ce1d447525113c280adef2 Mon Sep 17 00:00:00 2001 From: Jim Garlick Date: Wed, 11 Dec 2024 11:47:35 -0800 Subject: [PATCH 4/6] ci: replace fedora34 with fedora40 Problem: the docker image moved from fedora34 to fedora40 but ci still wants to build 34. Move ci to fedora40. Adjust the title of the build to say "ompi v5" instead of the full version, so we don't have to keep updating branch protections as new v5 releases come out. --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fdc6072..667c2a7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -49,8 +49,8 @@ jobs: coverage: true env: COVERAGE: t - - name: "fedora34 - ompi v5.0.6" - image: "fedora34" + - name: "fedora40 - ompi v5" + image: "fedora40" ompi_branch: "v5.0.6" openpmix_branch: "v4.2.9" coverage: false From bb7575ef68b0a6e1ce13298ad38184521232ce7d Mon Sep 17 00:00:00 2001 From: Jim Garlick Date: Wed, 11 Dec 2024 11:50:06 -0800 Subject: [PATCH 5/6] ci: add el9 Problem: we have an el9 image now, but it is not run in ci. Add an el9 builder. --- .github/workflows/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 667c2a7..47cef75 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -55,6 +55,12 @@ jobs: openpmix_branch: "v4.2.9" coverage: false env: {} + - name: "el9 - ompi v5" + image: "el9" + ompi_branch: "v5.0.6" + openpmix_branch: "v4.2.9" + coverage: false + env: {} - name: "jammy - ompi v4.1.x" image: "jammy" ompi_branch: "v4.1.x" From c4208210f2bff99c9dcfe864ac9d7b108608723f Mon Sep 17 00:00:00 2001 From: Jim Garlick Date: Wed, 11 Dec 2024 15:45:14 -0800 Subject: [PATCH 6/6] ci: build el8 with pmix-3.2.5 Problem: TOSS 4 has upgraded to pmix-3.2.5 but CI is still testing 3.2.3 on el8. Update el8 builder to pmix-3.2.5. --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 47cef75..5c966cb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,7 +39,7 @@ jobs: - name: "el8 - ompi v4.1.4" image: "el8" ompi_branch: "v4.1.4" - openpmix_branch: "v3.2.3" + openpmix_branch: "v3.2.5" coverage: false env: {} - name: "jammy - coverage"