I don't know how necessarily say this correctly, as I simply am not sure what is happening.
I've got a website that is being updated using gitlab ci. When attempting to push new code today I received an error. It was terribly non-descriptive and related to the site itself. It was a Drupal site and I was trying to install a custom module.
The module CustomModule cannot be installed because it's missing a dependency module
It provided a fully blank file name for a module.
After digging I managed to find the problem. Somehow, the server has received files from two different points in commit history. I had not previously pushed this branch to the server. On the server some files were from the latest commit and others were from what looked like the first commit from that branch.
This sounds really wacky and I agree. I noticed that the site was telling me my module that I was pushing was missing a dependency, when I looked at what it was missing it listed a dependency that I had NOT listed (it was entirely wrong, no question).
After looking at the new files I realised, some were from an earlier commit. It wasn't just grabbing an earlier version of all files because some files were from the latest commit. I checked the jobs and it listed all the files in the call to rsync.
The rsync call looks like :
rsync -av --no-perms --no-owner --no-group --exclude-from '.gitlabci-rsync-exclude.txt' --exclude '.git' --delete ./ $RSYNC_DESTINATION
What makes this even stranger is that minutes before this happened, the exact same job ran to merge some updates and that went off without a hitch. Then this one made the jobs fail.
I don't know what more info I can give as I am not terribly sure what is happening. Any ideas or more info you would need?
docker push
/docker pull
to update the service, and avoidingrsync
...