Help
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Copilot Lvl 2
Message 1 of 5

External actions are being rate-limited

We're seeing our use of external Actions being rate limited within a runner. This is causing our CI to grind to a halt because tests don't pass. We don't have many builds running in quick succession but clearly we're hitting the limit. It'd be great for runners to have an increased rate limit allowance.

 

Is there any way around this in the mean time?

 

2020-03-25-15:06:02.png

4 Replies
Highlighted
Copilot Lvl 2
Message 2 of 5

Re: External actions are being rate-limited

Semi-solved: my workaround involved switching out that Action for a native conditional of the label.

 

Still curious as to the API rate limiting though. Was it because the Action used the API?

Highlighted
GitHub Partner
Message 3 of 5

Re: External actions are being rate-limited

In set up job step, Github actions use API to download actions repo. 

If you enable step debug log you could see it in the debug logs. download action.png

>> Semi-solved: my workaround involved switching out that Action for a native conditional of the label.

Could you please share your worked workflow yml content here? It would be helpful for other communities who meet the same issue.

 

Highlighted
Copilot Lvl 2
Message 4 of 5

Re: External actions are being rate-limited

Sure!

 

I originally wanted to check if a PR has a particular label, which led me to using that Action:

- uses: Dreamcodeio/pr-has-label-action@v1.2
  id: allTestsLabel
  if: github.event_name == 'pull_request'
  with:
    label: all-tests

Instead, you can do it with the following:

contains(github.event.pull_request.labels.*.name, 'all-tests')
Highlighted
GitHub Partner
Message 5 of 5

Re: External actions are being rate-limited

Thank you for sharing your solution. Using github.event.pull_request.labels seems like an easier way to check PR labels. 

For Github API requests using Basic Authentication or OAuth, you can make up to 5000 requests per hour. You could use rate_limit api to check the remaining API number.