Closed LeoColomb closed 5 years ago
Huh. That looks like it's a network problem related to GitLab's API or API client.
I'd look at the size of the files that you're trying to submit to GitLab (you should be able to call files
on the PullRequestCreator
object, I think, and inspect the length of the content of each file). If the files are massive (like, over 1mb) then it could be related to that. Otherwise it's more likely to be GitLab themselves having a reliability issue.
Well, even when dumping the file into the console, the log is not that big (~200ko): https://gist.github.com/LeoColomb/ceb8f5e669279166d66cb388e6715b2c
For a basic Laravel app with Capistrano:
Will investigate GitLab.com API reliability...
👍 - the next thing I'd check is whether this happens consistently or intermittently. In the later case it's almost certainly a GitLab bug (although perhaps one we can work around by automatically retrying).
I'd check is whether this happens consistently or intermittently
Consistently, when updates are available (of course), on only 2 projects of 5.
Can you run this on a specific repo, for a specific dependency, and get the same result each time (i.e., PR creation fails due to the broken pipe)?
(Apologies not to be able to take this off your hands - it's tricky when Dependabot doesn't currently put any volume through GitLab.)
Strating to investigate further.
I've added Sentry error capturing: https://sentry.io/share/issue/170c7484fd1047938211008819c71cc8/
Creating a repo for GitLab API test: it works well.
So is it related to API usage?
Some additional notes:
@greysteil I succeeded to isolate what is not failing:
I rewrote my tester repo script: https://gitlab.com/gitlab-api-commit-error/tester
But, when comparing dependabot generated dependencies file with the expecting one, everything seems fine. (Script / CI log)
Soooo, the file content is OK, manually the request with that same file is OK, the branch creation is OK. But the dependabot request is still failing every time. 😢
I've suspected encoding mismatch, but if the manual request works, I can't see the dependabot may fail.
Oh and what about the commit message?
I'm facing error with some environments (but not all).
Any idea where to start?