-
Notifications
You must be signed in to change notification settings - Fork 551
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Occasionally getting candidates is not iterable
error
#903
Comments
At the very least, it seems the error message isn't clear enough to understand the actual issue. |
Hello @jonathonlacher |
Hello @jonathonlacher, Thank you once again for bringing this issue to our attention. We attempted to reproduce the problem but were unsuccessful. Upon further investigation, we identified the following potential causes for the failure:
|
Hello @jonathonlacher, we attempted to reproduce the issue on the GHES server but were unsuccessful even after more than 150 runs. Please review the above feedback, which likely identifies the cause of the issue. I have attached a screenshot for reference. |
@aparnajyothi-y @mahabaleshwars do you have any suggestions on how to capture more logs or which logs would be helpful? What specifically is throwing the error ( |
Hello @jonathonlacher,
To check the logs in the runner, follow these steps:
These settings will generate detailed logs to help diagnose issues. However, we currently cannot pinpoint the exact cause of the "Error: candidates is not iterable" message. |
@HarithaVattikuti I've setup a repo that runs the Action on a 5 minute cron with the debug logs enabled, will let you know when I encounter the issue. As a note, we use ephemeral runners in containers, and don't shell access to them, so I'm not able to grab any files from the runner file system. |
Ok I have debug logs from the ##[debug]Evaluating condition for step: 'Run actions/setup-python@v5'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Run actions/setup-python@v5
##[debug]Register post job cleanup for action: actions/setup-python@v5
##[debug]Loading inputs
##[debug]Evaluating: (((github.server_url == 'https://github.com') && github.token) || '')
##[debug]Evaluating Or:
##[debug]..Evaluating And:
##[debug]....Evaluating Equal:
##[debug]......Evaluating Index:
##[debug]........Evaluating github:
##[debug]........=> Object
##[debug]........Evaluating String:
##[debug]........=> 'server_url'
##[debug]......=> 'https://git.myorg.com'
##[debug]......Evaluating String:
##[debug]......=> 'https://github.com'
##[debug]....=> false
##[debug]..=> false
##[debug]..Evaluating String:
##[debug]..=> ''
##[debug]=> ''
##[debug]Expanded: ((('https://git.myorg.com' == 'https://github.com') && github['token']) || '')
##[debug]Result: ''
##[debug]Loading env
Run actions/setup-python@v5
with:
python-version: 3.10
check-latest: false
update-environment: true
allow-prereleases: false
##[debug]Python is expected to be installed into /opt/hostedtoolcache
::group::Installed versions
Installed versions
##[debug]Semantic version spec of 3.10 is 3.10
##[debug]isExplicit:
##[debug]explicit? false
##[debug]evaluating 0 versions
##[debug]match not found
Version 3.10 was not found in the local cache
##[debug]Getting manifest from actions/python-versions@main
Error: candidates is not iterable
##[debug]Node Action run completed with exit code 1
##[debug]Finishing: Run actions/setup-python@v5 Here is my workflow: name: Run Python on cron
on:
schedule:
- cron: '*/5 * * * *'
workflow_dispatch: {}
jobs:
Just-run-python:
runs-on: [ self-hosted, arc-dind-rootless-enterprise ]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Run Python script
run: python main.py |
Hi there. I've done some testing with this, by making a duplicate of the setup-python action and injecting some more debug statements in a few areas.
With this, I found that there are times when a run will hit the github api rate limit issue, but instead of falling back to improper response, no fallback
proper response, proper fallback:
I'm not certain if this fix should be in the action code, or if this is a bug in how github responds to api limits, but this does appear to be the culprit for this particular issue. |
on advice, I've submitted: |
Hello @jonathonlacher, thanks to the efforts of @Lavaerius, we have identified the root cause of the issue. It is related to the API rate limit being exceeded and the inability to fallback to the raw API. We're currently investigating it. |
I am running into this issue. Would be very appreciative of a solution. :) |
Description:
I'm occasionally getting the following error when this Action is ran:
Action version:
v5.1.0
Platform:
Runner type:
Tools version:
3.12.3
Repro steps:
Repo is on GHES, so not able to link to it.
setup-python
action.Not sure if the complexities of GHES are the cause, though I have seen some indications searching all of github.com that at least 1 other person has gotten this error before when using this action.
They potentially say it's related to rate limiting, though the error, at least to me, isn't clear enough to indicate that.
This also might be relevant:
setup-python
is one of the default bundled Actions with GHES, so my understanding is the that the runner should only be calling out to github.com for accessing the python-versions maniest and corresponding release.Expected behavior:
Here is what I expect, for the Action to download the release tar.
Actual behavior:
The action fails to find the version available for downloading.
The text was updated successfully, but these errors were encountered: