GitHub lister: better handling of wrong credentials
Right now, when the GitHub lister tries to use a set of credentials that are invalid (f.e. that are expired), it treats that as a transport error and sleeps 10 seconds.
This ends up being a 401 error with the content:
{
"message": "Bad credentials",
"documentation_url": "https://developer.github.com/v3"
}
It'd be better to:
- report the credentials issue instead of a generic transport error
- remove the credential from the set of credentials the worker is going to use
- retry the request with another credential immediately
Migrated from T2099 (view on Phabricator)