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

sizebot: Combine stable and experimental results #20753

Merged
merged 1 commit into from
Feb 6, 2021

Conversation

acdlite
Copy link
Collaborator

@acdlite acdlite commented Feb 6, 2021

Because we have access to the artifacts in CI, we can read bundle sizes directly from the filesystem, instead of the JSON files emitted by our custom Rollup plugin.

This gives us some flexibility if we ever have artifacts that aren't generated by Rollup, or if we rewrite our build script.

Personally, I also prefer to see the whole file path, instead of just the name, because some of our names are repeated.

My immediate motivation, though, is because it gives us a way to merge the separate "experimental" and "stable" size results. Instead everything is reported in a single table and disambiguated by path.

I also added a section at the top that always displays the size impact to certain critical bundles — right now, that's the React DOM production bundles for each release channel. This section will also include any size changes larger than 2%.

Below that is a section that is collapsed by default and includes all size changes larger than 0.2%.

Test plan

Pushed to my context selectors PR to test the output: #20646 (comment)

@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels Feb 6, 2021
@sizebot
Copy link

sizebot commented Feb 6, 2021

Comparing: 903384a...6e9473e

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.min.js = 122.28 kB 122.28 kB = 39.49 kB 39.49 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 128.86 kB 128.86 kB = 41.52 kB 41.52 kB
facebook-www/ReactDOM-prod.classic.js = 405.64 kB 405.64 kB = 75.23 kB 75.23 kB
facebook-www/ReactDOM-prod.modern.js = 393.99 kB 393.99 kB = 73.43 kB 73.43 kB
facebook-www/ReactDOMForked-prod.classic.js = 405.65 kB 405.65 kB = 75.24 kB 75.23 kB

Significant size changes

Includes any change greater than 0.2%:

(No significant changes)

Generated by 🚫 dangerJS against 6e9473e

@gaearon
Copy link
Collaborator

gaearon commented Feb 6, 2021

Can we move the OSS bundles first? The FB ones are a bit misleading because there’s no rewriting pass.

Because we have access to the artifacts in CI, we can read bundle sizes
directly from the filesystem, instead of the JSON files emitted by our
custom Rollup plugin.

This gives us some flexibility if we ever have artifacts that aren't
generated by Rollup, or if we rewrite our build script.

Personally, I also prefer to see the whole file path, instead of just
the name, because some of our names are repeated.

My immediate motivation, though, is because it gives us a way to merge
the separate "experimental" and "stable" size results. Instead
everything is reported in a single table and disambiguated by path.

I also added a section at the top that always displays the size impact
to certain critical bundles — right now, that's the React DOM production
bundles for each release channel. This section will also include any
size changes larger than 2%.

Below that is a section that is collapsed by default and includes all
size changes larger than 0.2%.
@acdlite acdlite force-pushed the sizebot-combine-channels branch 2 times, most recently from 41db6d5 to 6e9473e Compare February 6, 2021 20:28
@acdlite acdlite merged commit bbb2ba8 into facebook:master Feb 6, 2021
koto pushed a commit to koto/react that referenced this pull request Jun 15, 2021
Because we have access to the artifacts in CI, we can read bundle sizes
directly from the filesystem, instead of the JSON files emitted by our
custom Rollup plugin.

This gives us some flexibility if we ever have artifacts that aren't
generated by Rollup, or if we rewrite our build script.

Personally, I also prefer to see the whole file path, instead of just
the name, because some of our names are repeated.

My immediate motivation, though, is because it gives us a way to merge
the separate "experimental" and "stable" size results. Instead
everything is reported in a single table and disambiguated by path.

I also added a section at the top that always displays the size impact
to certain critical bundles — right now, that's the React DOM production
bundles for each release channel. This section will also include any
size changes larger than 2%.

Below that is a section that is collapsed by default and includes all
size changes larger than 0.2%.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants