Skip to content
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

ci (feature): use run-parallel and shared wheel packages for tox #408

Conversation

danceratopz
Copy link
Member

@danceratopz danceratopz commented Jan 29, 2024

🗒️ Description

  1. Run tox with run-parallel in Github Actions and pre-commit.
  2. Configure tox.ini to use a shared wheel across testenvs instead of individually installing test-filler as a source distribution.

Tricks found in this article https://hynek.me/articles/turbo-charge-tox/.

The speed-up mainly comes from running the docs tox env in parallel to the test env (so you'll never save more time than docs takes) - not sure how much of a tangible impact this will have on Github Actions.

But adding run-parallel to tox is certainly worthwhile locally. This must be done manually (or via pre-commit).

Comparison with Cancun tests (on 69e1d92):

Change Changes in ./src/ No changes in ./src/
No changes 1m 7s 1m 10s
tox run-parallel 40s 42s
Re-use wheel config 1m 0s 1m 0s
tox run-parallel and re-use wheel config 37s 38s

Comparison in Github Actions

There seems to be such a large variance of running times for "Run Tox Verifications" that these changes will unlikely noticeably impact ci/cd:
image

🔗 Related Issues

None

✅ Checklist

  • All: Set appropriate labels for the changes.
  • All: Considered squashing commits to improve commit history.
  • All: Added an entry to CHANGELOG.md.
  • All: Considered updating the online docs in the ./docs/ directory.
  • Tests: Included the type and version of evm t8n tool used to locally execute test cases: e.g., ref with commit hash or geth 1.13.1-stable-3f40e65.
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.

@danceratopz danceratopz added scope:docs Scope: Documentation scope:ci Scope: Continuous Integration type:chore Type: Chore labels Jan 29, 2024
@danceratopz danceratopz marked this pull request as ready for review January 29, 2024 08:33
@danceratopz danceratopz requested review from marioevz and spencer-tb and removed request for marioevz January 29, 2024 09:17
Copy link
Collaborator

@spencer-tb spencer-tb left a comment

Choose a reason for hiding this comment

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

Super nice! Blazing fast - LGTM!

@spencer-tb spencer-tb merged commit ddf2b0d into ethereum:main Jan 29, 2024
5 checks passed
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:docs Scope: Documentation type:chore Type: Chore
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants