-
Notifications
You must be signed in to change notification settings - Fork 391
enhance(ci): add fast benchmark artifact workflow #1827
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
enhance(ci): add fast benchmark artifact workflow #1827
Conversation
|
Nice! Hope we could present this during gas lighting call! |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## forks/osaka #1827 +/- ##
================================================
+ Coverage 53.45% 87.31% +33.86%
================================================
Files 743 541 -202
Lines 44076 32832 -11244
Branches 3891 3015 -876
================================================
+ Hits 23559 28668 +5109
+ Misses 20306 3557 -16749
- Partials 211 607 +396
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
danceratopz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this, couple of comments below!
I do think this PR should be considered blocked by:
I'm slightly concerned that relying on latest artifacts (as-is) will make it difficult to trace issues in downstream infra. One idea to mitigate this would be to enable artifact downloading in consume cache (which should then be used by Kamil, etc.) and enable logging of the execution-specs git ref (resp. URL) corresponding to the artifact being downloaded. Currently, this ref is already reported in the fixture JSON and in fixtures/.meta/fixtures.ini but something even more obvious wouldn't hurt.
E.g.:
- Q "I couldn't run the latest arfifact, is it broken?"
- A "What's the execution-specs ref in the download log for me to verify locally?
| - "forks/osaka" | ||
| - "forks/amsterdam" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should only generate for the default fork, especially as we only generate benchmark fixtures for Prague. I guess this will be Amsterdam very soon :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree here. There is not an automatic option for default fork here so leaving as is for now.
| # Benchmark related EEST framework files | ||
| - "packages/testing/src/execution_testing/benchmark/**" | ||
| - "packages/testing/src/execution_testing/specs/**" | ||
| - "packages/testing/src/execution_testing/test_types/**" | ||
| - "packages/testing/src/execution_testing/fixtures/**" | ||
| - "packages/testing/src/execution_testing/forks/**" | ||
| - "packages/testing/src/execution_testing/vm/**" | ||
| - "packages/testing/src/execution_testing/cli/pytest_commands/fill.py" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could trigger a lot of unnecessary builds, but happy to leave as-is for now and see how it goes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated. Removed some of these.
As far as I understand the git ref is traceable via: Then can be downloaded from a specific run if needed: I agree adding more obvious logging in consume cache would be a nice improvement, but I'd |
marioevz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing, thanks!
🗒️ Description
A follow up request from the benchmarking meeting in Devconnect Argentina. Adds new CI workflow
artifact_benchmark_fast.yamlthat builds benchmark fixtures with 100M gas on push toforks/osakaandforks/amsterdambranches, only for changes relevant to benchmark tests.Renames release workflows with
release_prefix for better organization (fixture_full_release.yaml->release_fixture_full.yaml, etc.)To download the artifact we should be able to run the following below, to get the latest artifact:
🔗 Related Issues or PRs
N/A.
✅ Checklist
toxchecks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:uvx tox -e statictype(scope):.Cute Animal Picture