Skip to content

Conversation

@kclowes
Copy link
Collaborator

@kclowes kclowes commented Jul 3, 2025

🗒️ Description

Allows this repo to run using pypy3.11. The new CI job runs in ~15m, which is generally ~30s-1m slower than our next slowest job. I'm happy to spend more time trying to get it down, but didn't know how much priority to give it here.

🔗 Related Issues or PRs

#1839

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx --with=tox-uv tox -e lint,typecheck,spellcheck,markdownlint
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered adding an entry to CHANGELOG.md.
  • All: Considered updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).

@kclowes kclowes force-pushed the feat/pypy311-support branch 3 times, most recently from 97366f3 to 4d2d4f7 Compare July 10, 2025 19:38
@kclowes kclowes force-pushed the feat/pypy311-support branch 2 times, most recently from c7d453f to 6b7c7aa Compare July 11, 2025 16:54
@kclowes kclowes changed the title WIP - pypy3.11 support (feat)ci: pypy3.11 support Jul 11, 2025
@kclowes kclowes added scope:ci Scope: Continuous Integration type:feat type: Feature scope:deps Scope: Updates package dependencies labels Jul 11, 2025
@kclowes kclowes force-pushed the feat/pypy311-support branch 2 times, most recently from 7240fa0 to b3b8c0f Compare July 14, 2025 19:57
@kclowes kclowes marked this pull request as ready for review July 14, 2025 20:05
Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing! Really nice to have this!

As a sanity check could you please:

  1. Compare cpython and pypy 3.11 fill run times on this branch and cpython on main?
  2. Diff the generated fixtures with pypy on this branch to fixtures generated on main? We use the hasher utitlity to diff? This should be adequate:
 uv run fill -m "not slow and not benchmark" -n auto

I think the docs are a bit borked on this, but this comment explains how to do this:
#792 (review)

I absolutely recommend doing this on the hive server for speed!

@kclowes kclowes force-pushed the feat/pypy311-support branch 2 times, most recently from caa300d to 494ccaf Compare July 21, 2025 18:51
@kclowes
Copy link
Collaborator Author

kclowes commented Jul 21, 2025

As a sanity check could you please:

  1. Compare cpython and pypy 3.11 fill run times on this branch and cpython on main?

Before Osaka tests became the default, this was working really well. Python 3.12 on main was able to fill tests in 8:49 on the hive-server, and pypy3.11 on this branch was running in 4:48. However, after the Osaka tests became the default, locally and on hive-server I am erroring out. I'm not seeing the same thing on CI, so I am not sure what's going on. It may be worth digging in, but it seems like this isn't a huge priority right now. I took the pypy fill out of CI because it's taking more than an hour to run right now, and EELS is already testing the fill command on their end. Happy to keep looking here or trying to get the test times down if that becomes a priority.

  1. Diff the generated fixtures with pypy on this branch to fixtures generated on main? We use the hasher utitlity to diff? This should be adequate:

The hashes do match!

Copy link
Member

@marioevz marioevz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Just one question but it's not a blocker. Thanks!

@kclowes kclowes force-pushed the feat/pypy311-support branch from 494ccaf to 9e9df05 Compare July 23, 2025 16:56
@marioevz marioevz merged commit 9184a03 into ethereum:main Jul 23, 2025
15 checks passed
@kclowes kclowes deleted the feat/pypy311-support branch August 7, 2025 22:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope:ci Scope: Continuous Integration scope:deps Scope: Updates package dependencies type:feat type: Feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants