Thanks for your patience while I tried to figure out what is happening here, @slim ! In the good news department, we are seeing a git error when we pull. In the bad news department, it is something you’re going to have to fix, but hopefully my sharing it here will help!
Thanks @perry. I agree it looks like git fetch errors. This is strange as
it never fails using uncached
it nearly always fails with cache
we have a git hub action that does similar and never fails. Might be different git version.
the repository flaged as errors are all good an working normally.
So it seems to be cache related. Or cache plus specific git submodules use. We don’t use -f. Is that the same git command for uncached?
BTW we actually want --remote to update all the submodule refs in our current usage so end up with 2 gitmodules iterations. Ideally we could modify your initial command.
I’ll see if I can ever reproduce the error with an uncached build by experimenting with various. Options. I’ll also check those specific refs.
Is it possible github are throwing spurious errors?
Is it a problem with the way submodules are cached followed by an init. Perhaps if the submodules have had checking?
On a wild guess, I wonder if submodule --sync is relevant. I never full grokked what it does.
You cannot modify the command we use; if you want to use our CI it must work as specified in my post. (I understand you wish it worked differently - and there is an open feature request for recursive submodule updates which I think would help you, so I have added your voice to it so we can report back here if the behavior changes).
Based on past experience, I do not believe this is a spurious error; it’s one you have to fix in your codebase. We do run different commands when using a non-cached repo, (git clone instead of the fetch/checkout pair), so you should be able to reproduce in your own freshly-cloned copy of the repo locally (so it has no submodules cloned before you start, or other local changes), when you run those commands.
@fool on further reflection, I was assuming the intermittent nature was due to some system performance thing like speed during busy times. However i could also be changes to any of our repos.
Anyway, if you think we would get visibility into the problem with a local build, could you not surface that information in your build logs? Just saying ‘error’ is not much help after all.