-
Notifications
You must be signed in to change notification settings - Fork 24
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
Add benchmark tests to CI #243
Conversation
✅ Deploy Preview for docs-oz-polkadot canceled.
|
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 is great to have as part of the CI! I left a few small comments, but have one bigger question:
Are the benchmarks stored somewhere? I think not right? If not maybe we should consider outputting them to the console or finding a way they can be consumed on each run of the action don't you think?
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.
On board with this change! A few questions to confirm understanding:
- this change runs the benchmarks to generate weights in each PR instead of just checking compilation as before?
- are the generated weights written to the PR or does this job simply verify that they run without errors?
Additional Qs related to how this impacts our developer experience:
3. how much time do you think this will add to each CI run?
4. will the job auto-cancel if another commit is pushed to the PR?
For (4), I think an auto-cancel on new commits would be ideal so that the CI is not blocked by slow runs on old commits. Happy to do this in a follow up if we all agree it would be helpful.
Benchmarks are not stored and it does not make any sense. Their contents are not really representative -- for release they should be ran on a special machine, not in the CI runner. That way, the main goal of this job is to verify that there are no errors in the benchmark run. |
|
@4meta5 I have updated the steps and repeats for the benchmarks, the whole job with compilation now takes 20 minutes for EVM template. |
@KitHat @4meta5 I just added this setting to the pipeline. Is just a concurrency group setting. So we shouldn't be wasting CI time anymore after this.
Makes sense. But shouldn't we use this benchmark(even if not really accurate) to detect if a change really impacted the benchmarks? We can take this discussion for later, but I suggest we check what other projects are doing with their benchmark results for example and if there's a way to break the CI if we detect the change made it much worse. |
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.
Great job, thanks! 🚀
add comments
update locks
e193093
to
35ba8f3
Compare
Fixes #242
Modified script that runs benchmarks to also build the binary for them.
Added the benchmark run to the CI.
Added a checkbox to verify the pallet inclusion to the benchmarking run.
PR Checklist
v2
branch is backmerged to master, it contains a fix for the pallet_treasury benchmark run in treasury pallet