bwoodsend/setup-winlibs-action

Consistent 403: rate limit exceeded

Closed this issue · 2 comments

Hi,

I am consistently getting this error even after several reruns.

Run bwoodsend/setup-winlibs-action@v1.7
  with:
    add_to_path: true
    tag: 1[2](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:2).2.0-15.0.6-10.0.0-msvcrt-r[3](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:3)
    with_clang: false
    architecture: x86_6[4](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:4)
Run echo '{
  echo '{
    "add_to_path": "true",
    "tag": "12.2.0-1[5](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:5).0.[6](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:6)-10.0.0-msvcrt-r3",
    "with_clang": "false",
    "destination": "",
    "architecture": "x86_64"
  }' | python -m json.tool
  shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
{
    "add_to_path": "true",
    "tag": "12.2.0-15.0.6-10.0.0-msvcrt-r3",
    "with_clang": "false",
    "destination": "",
    "architecture": "x86_64"
}
Run python 'D:\a\_actions\bwoodsend\setup-winlibs-action\v1.[7](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:8)/install.py' --config '{
Traceback (most recent call last):
  File "D:\a\_actions\bwoodsend\setup-winlibs-action\v1.7\install.py", line 233, in <module>
    main()
  File "D:\a\_actions\bwoodsend\setup-winlibs-action\v1.7\install.py", line 227, in main
    install(**deserialise_config(config))
  File "D:\a\_actions\bwoodsend\setup-winlibs-action\v1.7\install.py", line 19[8](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:9), in install
    assets = release_assets(release(tag))
  File "D:\a\_actions\bwoodsend\setup-winlibs-action\v1.7\install.py", line 47, in release
    _releases = releases()
  File "D:\a\_actions\bwoodsend\setup-winlibs-action\v1.7\install.py", line 37, in releases
    page = api(f"releases?page={i};per_page={per_page}")
  File "D:\a\_actions\bwoodsend\setup-winlibs-action\v1.7\install.py", line 2[9](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:10), in api
    with request.urlopen(url) as req:
  File "C:\hostedtoolcache\windows\Python\3.9.[13](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:14)\x64\lib\urllib\request.py", line 2[14](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:15), in urlopen
    return opener.open(url, data, timeout)
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\urllib\request.py", line 5[23](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:25), in open
    response = meth(req, response)
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\urllib\request.py", line 6[32](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:35), in http_response
    response = self.parent.error(
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\urllib\request.py", line 561, in error
    return self._call_chain(*args)
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\urllib\request.py", line 494, in _call_chain
    result = func(*args)
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\urllib\request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error [40](https://github.com/blade-lang/blade/actions/runs/3809663932/jobs/6481204330#step:3:43)3: rate limit exceeded
Error: Process completed with exit code 1.

My setup is:

- name: Setup WinLibs
      uses: bwoodsend/setup-winlibs-action@v1.7
      with:
        add_to_path: true
        tag: 12.2.0-15.0.6-10.0.0-msvcrt-r3

You can try running off the api-limit branch for now.

- name: Setup WinLibs
      uses: bwoodsend/setup-winlibs-action@api-limit
      with:
        add_to_path: true
        tag: 12.2.0-15.0.6-10.0.0-msvcrt-r3

That authenticates its REST API requests using the built-in GITHUB_TOKEN that Actions provides so that the hourly rate limit becomes 5000 per user (of which this action uses 3 per run) rather than 60 per IP address (where I wouldn't be surprised if GitHub's fleet of runners all count as one address).

There seems to be a separate issue in GitHub's API where it sporadically throws 500 server errors. I can reproduce that one locally using minimal code so I'm taking that issue to GitHub support.

Fixed in v1.8.