Retry sync and update submodules on failure
requested to merge 26993-gitlab-runner-with-the-shell-executor-sometimes-fails-to-fetch-submodules into main
What does this MR do?
If the initial submodule update fails, we sync and try to update again.
Why was this MR needed?
As described in #26993 (comment 1360496450), it fixes many scenarios where fetching submodules is broken.
What's the best way to test this MR?
#26993 (closed) outlines some manual test, but equally, this MR only affects what happens in case the submodule update is a failure, so this can only improve matters and shouldn't make them worse.
What are the relevant issue numbers?
Closes #26993 (closed)