Skip to content

Init submodules prior to sync to ensure submodules remote URL configuration is properly synchronized

What does this MR do?

Adds call to git submodule init prior to git submodule sync ensuring the .git/config file is fully initialized allowing submodules remote URL configuration to be properly synchronized when git submodule sync is run on a reinitialized existing Git repository having submodules.

Why was this MR needed?

Changes introduced in !3134 (merged) caused a regression when FF_ENABLE_JOB_CLEANUP is enabled. See #28783 (closed) for full details.

What's the best way to test this MR?

I tested these changes by deploying a test runner into our Kubernetes environment, locking the pods it creates to a single node to ensure the same shared storage was used from one job to the next, essentially walking through the scenario where the problem occurred as documented in steps to reproduce here: #28783 (closed)

We've been running a patched runner image having these changes across all our runners for about a week without issue, but would like to see the changes merged in upstream so we don't have to maintain a patched image, and so that others don't run into the same.

Might need to update with testing procedure easily executed by others if detail on related issue isn't sufficient to make it obvious what is occurring here.

What are the relevant issue numbers?

#28783 (closed)

Edited by David Alger

Merge request reports