diff --git a/tools/tests/dockerfiles/ubuntu_2404/Dockerfile b/tools/tests/dockerfiles/ubuntu_2404/Dockerfile index 52cba1378..f9aabd4c4 100644 --- a/tools/tests/dockerfiles/ubuntu_2404/Dockerfile +++ b/tools/tests/dockerfiles/ubuntu_2404/Dockerfile @@ -235,20 +235,63 @@ COPY --from=precice /home/precice/.local/ /home/precice/.local/ ARG DUNE_VERSION ARG DUMUX_VERSION USER precice -WORKDIR /home/precice -RUN mkdir dumux&&\ - cd dumux&&\ - git clone --depth 1 https://gitlab.dune-project.org/core/dune-common.git -b releases/${DUNE_VERSION} &&\ - git clone --depth 1 https://gitlab.dune-project.org/core/dune-geometry.git -b releases/${DUNE_VERSION} &&\ - git clone --depth 1 https://gitlab.dune-project.org/core/dune-grid.git -b releases/${DUNE_VERSION} &&\ - git clone --depth 1 https://gitlab.dune-project.org/core/dune-istl.git -b releases/${DUNE_VERSION} &&\ - git clone --depth 1 https://gitlab.dune-project.org/extensions/dune-subgrid.git -b releases/${DUNE_VERSION} &&\ - git clone --depth 1 https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git -b releases/${DUMUX_VERSION} &&\ - git clone -b cell_problems https://git.iws.uni-stuttgart.de/dumux-appl/dumux-phasefield.git &&\ - git clone --depth 1 https://gitlab.dune-project.org/extensions/dune-SPGrid.git -b releases/${DUNE_VERSION} &&\ - git clone --depth 1 https://gitlab.dune-project.org/core/dune-localfunctions.git -b releases/${DUNE_VERSION} WORKDIR /home/precice/dumux ENV PATH="/home/precice/dumux/dune-common/bin:${PATH}" +# This cascade of git clones often led to HTTP 502. Adding some delay and retries in between as a workaround. +RUN for i in $(seq 1 3); do \ + if git clone --depth 1 https://gitlab.dune-project.org/core/dune-common.git -b releases/${DUNE_VERSION}; then break; fi; \ + rm -rf dune-common; \ + if [[ $i -eq 3 ]]; then exit 1; fi; \ + sleep 10; \ + done +RUN for i in $(seq 1 3); do \ + if git clone --depth 1 https://gitlab.dune-project.org/core/dune-geometry.git -b releases/${DUNE_VERSION}; then break; fi; \ + rm -rf dune-geometry; \ + if [[ $i -eq 3 ]]; then exit 1; fi; \ + sleep 10; \ + done +RUN for i in $(seq 1 3); do \ + if git clone --depth 1 https://gitlab.dune-project.org/core/dune-grid.git -b releases/${DUNE_VERSION}; then break; fi; \ + rm -rf dune-grid; \ + if [[ $i -eq 3 ]]; then exit 1; fi; \ + sleep 10; \ + done +RUN for i in $(seq 1 3); do \ + if git clone --depth 1 https://gitlab.dune-project.org/core/dune-istl.git -b releases/${DUNE_VERSION}; then break; fi; \ + rm -rf dune-istl; \ + if [[ $i -eq 3 ]]; then exit 1; fi; \ + sleep 10; \ + done +RUN for i in $(seq 1 3); do \ + if git clone --depth 1 https://gitlab.dune-project.org/extensions/dune-subgrid.git -b releases/${DUNE_VERSION}; then break; fi; \ + rm -rf dune-subgrid; \ + if [[ $i -eq 3 ]]; then exit 1; fi; \ + sleep 10; \ + done +RUN for i in $(seq 1 3); do \ + if git clone --depth 1 https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git -b releases/${DUMUX_VERSION}; then break; fi; \ + rm -rf dumux; \ + if [[ $i -eq 3 ]]; then exit 1; fi; \ + sleep 10; \ + done +RUN for i in $(seq 1 3); do \ + if git clone -b cell_problems https://git.iws.uni-stuttgart.de/dumux-appl/dumux-phasefield.git; then break; fi; \ + rm -rf dumux-phasefield; \ + if [[ $i -eq 3 ]]; then exit 1; fi; \ + sleep 10; \ + done +RUN for i in $(seq 1 3); do \ + if git clone --depth 1 https://gitlab.dune-project.org/extensions/dune-SPGrid.git -b releases/${DUNE_VERSION}; then break; fi; \ + rm -rf dune-SPGrid; \ + if [[ $i -eq 3 ]]; then exit 1; fi; \ + sleep 10; \ + done +RUN for i in $(seq 1 3); do \ + if git clone --depth 1 https://gitlab.dune-project.org/core/dune-localfunctions.git -b releases/${DUNE_VERSION}; then break; fi; \ + rm -rf dune-localfunctions; \ + if [[ $i -eq 3 ]]; then exit 1; fi; \ + sleep 10; \ + done # build core DUNE, DuMuX and the adapter ARG DUMUX_ADAPTER_PR ARG DUMUX_ADAPTER_REF