You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Test failures when hypothesis is available but cannot reach GitHub #132316
Hi, we recently started seeing several tests (namely test_binascii, test_math_property, test_tools and test_zoneinfo) to fail due to hypothesis warnings (which were recently turned into errors with #131802):
hypothesis.errors.HypothesisWarning: Authorization failed when trying to download artifact from GitHub. Check that you have a valid GITHUB_TOKEN set in your environment.`
or alternatively with
hypothesis.errors.HypothesisWarning: Could not connect to GitHub to get the latest artifact.
when I restrict the access to the internet.
I see that running with "CI" set in the environment fixes the issue as the problematic profile with GitHubArtifactDatabase is not registered, but that seems more like a lucky workaround.
I am not sure about the solution - maybe it can check whether "GITHUB_TOKEN" is also available? Or maybe the warning should be ignored and not cause the tests to fail.
I also think it should honor -urlfetch and -network options.
If it's useful, GitHub Actions also sets a GITHUB_ACTIONS variable:
Always set to true when GitHub Actions is running the workflow. You can use this variable to differentiate when tests are being run locally or by GitHub Actions.
You must provide GITHUB_TOKEN as an environment variable. In CI, Github Actions provides this automatically, but it needs to be set manually for local usage. In a developer machine, this would usually be a Personal Access Token. If the repository is private, it’s necessary for the token to have repo scope in the case of a classic token, or actions:read in the case of a fine-grained token.
We need GITHUB_TOKEN for hypothesis to work properly, otherwise it may fail with:
{
"message":"API rate limit exceeded for YOUR_API. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
"documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"
}
Activity
sobolevn commentedon Apr 9, 2025
Thanks for the report! Working on it.
hugovk commentedon Apr 9, 2025
If it's useful, GitHub Actions also sets a
GITHUB_ACTIONSvariable:https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#default-environment-variables
sobolevn commentedon Apr 10, 2025
Docs right now state: https://hypothesis.readthedocs.io/en/latest/reference/api.html#hypothesis.database.GitHubArtifactDatabase
We need
GITHUB_TOKENforhypothesisto work properly, otherwise it may fail with:{ "message":"API rate limit exceeded for YOUR_API. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)", "documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting" }pythongh-132316: Require `socket` and `GITHUB_TOKEN` env to use `GitH…
gh-132316: Require `socket` and `GITHUB_TOKEN` env to use `GitHubArti…
hugovk commentedon Apr 10, 2025
Thanks both for the report and the PR!
kulikjak commentedon Apr 10, 2025
Thank you for the fix!
I verified that with this patch all the previously failing tests pass again.
pythongh-132316: Require `socket` and `GITHUB_TOKEN` env to use `GitH…
[3.13] gh-132316: Require `socket` and `GITHUB_TOKEN` env to use `Git…