-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Bump PyPy runtime to v3.9 @ GHA #12557
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
Bump PyPy runtime to v3.9 @ GHA #12557
Conversation
|
Note for other maintainers: please, ignore this PR for now. I'm walking a mentee through the contribution process. |
|
Looking at https://github.com/pytest-dev/pytest/actions/runs/9748380501/job/26903269973?pr=12557#step:6:138, it seems like this PR might also need to adjust the tests. |
9a94f46 to
c03089b
Compare
PyPy 3.8 has a flaky bug in the garbage collector that is not going to
be fixed there since that version is EoL, but newer versions have it
addressed.
The problem manifests itself in CI as follows:
```console
TypeError: expected some sort of stmt, but got <_ast.Load object ...>
```
This patch makes use of the PyPy version that is still supported
and contains a fix for the said bug.
Ref: https://www.pypy.org/posts/2024/03/fixing-bug-incremental-gc.html
Resolves pytest-dev#11771.
It appears that newer PyPy versions have a different syntax error marker offset. This patch stripps 7 whitespaces off of the marker line.
Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
3649e2b to
ced7072
Compare
Backport to 8.2.x: 💚 backport PR created✅ Backport PR branch: Backported as #12632 🤖 @patchback |
(cherry picked from commit a7d5a8e)
|
@webknjaz just a quick reminder, probably would have been best to squash/merge this instead of a normal merge, as the individual commits do not add much to the history. 👍 |
|
@nicoddemus my understanding is that it's okay to use natural merge when the incoming commits aren't a mess. I usually only use the fake merge modes like squash when nothing else can save the history. |
|
I'm not sure this is a consensus, but I usually only keep commits when they make sense separately, which was not the case here: I don't see the value of having a commit implementing a feature, a separate commit adding a changelog, and another one adding someone to AUTHORS -- this is of course fine for development, but it is not useful months or years down the road when reviewing the history. @RonnyPfannschmidt @bluetech @The-Compiler what are your opinions here? |
|
Actually I will move this to a separate discussion, I think it is probably best to discuss this properly. |
|
#12633 👍 |
As we were encountering this -
__________________ ERROR collecting testing/_py/test_local.py __________________ /opt/hostedtoolcache/PyPy/3.8.16/x64/lib/pypy3.8/importlib/__init__.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) <frozen importlib._bootstrap>:1023: in _gcd_import ??? <frozen importlib._bootstrap>:1000: in _find_and_load ??? <frozen importlib._bootstrap>:984: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:680: in _load_unlocked ??? .tox/pypy3-xdist/lib/pypy3.8/site-packages/_pytest/assertion/rewrite.py:166: in exec_module source_stat, co = _rewrite_test(fn, self.config) .tox/pypy3-xdist/lib/pypy3.8/site-packages/_pytest/assertion/rewrite.py:350: in _rewrite_test co = compile(tree, strfn, "exec", dont_inherit=True) E TypeError: expected some sort of stmt, but got <_ast.Store object at 0x0000000002142880>Due to the PyPy version 3.8 which has a bug at its garbage collector and its EoL. Hence bumping the PyPy version to resolve the issue.
Closes #11771