-
Notifications
You must be signed in to change notification settings - Fork 5k
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: self-hosted runners for benchmarks #29955
base: main
Are you sure you want to change the base?
Conversation
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
Builds ready [9c55124]
Page Load Metrics (1730 ± 64 ms)
Bundle size diffs
|
1 similar comment
Builds ready [9c55124]
Page Load Metrics (1730 ± 64 ms)
Bundle size diffs
|
9c55124
to
ce07be7
Compare
with: | ||
name: ${{ inputs.name }} | ||
path: test-artifacts/chrome/benchmark/ | ||
retention-days: 5 |
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.
The number of retention-days
was chosen very arbitrarily, and maybe someone has an opinion
@@ -182,4 +182,4 @@ jobs: | |||
env: | |||
GITHUB_TOKEN: ${{ secrets.LAVAMOAT_UPDATE_TOKEN }} | |||
PR_NUMBER: ${{ github.event.issue.number }} | |||
ACTION_RUN_URL: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | |||
ACTION_RUN_URL: '${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' |
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 just Prettier running on a file
ce07be7
to
e5a4333
Compare
Builds ready [e5a4333]
Page Load Metrics (2151 ± 76 ms)
Bundle size diffs
|
e5a4333
to
a6f5acb
Compare
Builds ready [a6f5acb]
Page Load Metrics (1708 ± 72 ms)
Bundle size diffs
|
Could you split this into multiple PRs? A lot of these changes seem to be distinct from each other |
a6f5acb
to
c9f1e1e
Compare
c9f1e1e
to
6266945
Compare
Builds ready [6266945]
Page Load Metrics (1958 ± 284 ms)
Bundle size diffs
|
The migration to GitHub Actions is a necessary step, but before committing to self-hosted runners, we should first validate the stability of measurements across different environments.
The suggested approach is to conduct benchmark runs on GitHub-hosted runners first (ubuntu-latest) and compare them against CircleCI and self-hosted runner results. If fluctuations remain high across all environments, this method may not be suitable for a quality gate. However, the migration to GitHub Actions remains beneficial regardless. Next steps:
Would be great to see some comparison data in the PR before merging. |
As requested by @itsyoboieltr, here are benchmarks running in 4 different configurations:
Probably the most important stat here is uiStartup (btw our old system highlights load). Two additional things I see:
I'm going to run this again to see if it varies over time, and also with some other options.
|
Second run of this, numbers are pretty close to the first run
|
Description
Major changes
runs-on: gha-mm-scale-set-ubuntu-22.04-amd64-med
container: image: cimg/node:22.13-browsers
Xvfb
Prerequisites to merging this PR
benchmarks
branch ofgithub-tools
: https://github.com/MetaMask/github-tools/blob/benchmarks/.github/actions/setup-environment/action.ymlsetup-environment@benchmarks
back tosetup-environment@main
This is just Part 1 of a larger 4-part task to make the startup time quality gate, but I think it's the hardest part
Related issues
Progresses: MetaMask/MetaMask-planning#3679