Closed premun closed 3 weeks ago
Here's the reason why this happened:
GitHub
or AzDo
. We do this checking if the commit exists in GitHub, using the GitHub API. For this particular build, we got the HttpResponse: Forbidden rate limit exceeded
error. So Maestro
thought it was an AzDo build. Later when we we're checking if the build has a default channel, we used the AzDo repo/branch combination, which doesn't have anything configured, so we didn't publish the build anywhere@premun suggested we start using authenticated API calls here, since they have a higher rate limit of 5000 per hour, instead of 60, which we're getting now with our unauthenticated ones
Yeah, we could do that. We would need to plumb through another token. The token that is used to build the dependency graph must not be used to check the commit. Another option would be to just have the task handle the rate limiting. The response contains how long to wait for the reset to happen.
I think that handling 429 gracefully may be better. The task is used in more places than just the arcade YAML templates, so plumbing through another token is non-trivial. I also like the safety net that avoiding any authentication has. An improperly scoped token can't accidentally expose a private repo's builds.
We made the code go red if this happens, and added instructions in this PR https://github.com/dotnet/arcade-services/pull/3428
There was the following report from the MSBuild team:
They found out about the build not being in the channel like this: