Screwdriver: Hitting the limit of GitHub API request

Created on 13 Feb 2018  路  6Comments  路  Source: screwdriver-cd/screwdriver

What happened:
I tried periodical build by hitting builds/events API of Screwdriver.cd.
After some days, I faced with a problem that new build never start with the message below.
image

I pushed the new commit (new SHA) and the problem has been resolved.
This problem seems to be the same as https://github.com/screwdriver-cd/screwdriver/issues/387 but I opened the new issue because the context is different.

What you expected to happen:
I can start new build for the same commit as many times as desired.

How to reproduce it:
Start new build many times with the same commit.

References:

  • Need to fix this issue to achieve the build periodically feature (#688)
  • Statuses API has the limit

Note: there is a limit of 1000 statuses per sha and context within a repository. Attempts to create more than 1000 statuses will result in a validation error.
https://developer.github.com/v3/repos/statuses/

bug

Most helpful comment

The PR has been merged, and we have verified that builds will run regardless of whether the Github 1000 status limit has been reached.

All 6 comments

Interesting problem! What do you recommend we do here? Should we quietly ignore this error?

@stjohnjohnson This issue especially occurs for builds triggered by ~commit. Most of PR builds are not affected since users push their commit frequently and its trigger may not be automated or built periodically.

So I suggest to stop adding commit statuses for non-PR builds. Build status information on PR pages are extremely useful but I think users rarely see their commits page to check build statuses.
https://github.com/screwdriver-cd/screwdriver/commits/master

@catto That seems like a reasonable move. I was hoping at some point to use the commit statuses to indicate the current location of code X in the pipeline (did it deploy to production) but I think we're far off. Feel free to open a PR to disable that feature.

Summary 03/07

I've created a PR that disregards errors thrown by updateCommitStatus(). This allows new builds to start regardless of whether the Github commit status successfully updated: https://github.com/screwdriver-cd/models/pull/228

The PR has been merged, and we have verified that builds will run regardless of whether the Github 1000 status limit has been reached.

@ScottyFillups Thank you for fixing this!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nkatzman picture nkatzman  路  8Comments

kumada626 picture kumada626  路  4Comments

jweingarten picture jweingarten  路  3Comments

yoshwata picture yoshwata  路  5Comments

wahapo picture wahapo  路  7Comments