Skip to content

Conversation

eps1lon
Copy link
Collaborator

@eps1lon eps1lon commented Sep 18, 2025

The check if the inline Fizz runtime is up-to-date rarely fails but then completes on a retry e.g. https://github.com/facebook/react/actions/runs/17826035222/job/50679328390?pr=34516. We suppressed the diff so it's impossible to tell what the source of the flakiness is.

Now we run without --quiet which hopefully gives us a clue. I added --exit-code so that it still fails on changes. --exit-code was previously implied by --quiet.

Unclear why it was introduced with --quiet in #25481. Probably assuming that running it locally would show you the diff or just c&p from the error codes check.

Test plan
$ echo 'console.log(1)' > packages/react-dom-bindings/src/server/fizz-instruction-set/ReactDOMFizzInlineShellTime.js
$ git commit -a -m 'change fizz runtime without updating inline'
$ yarn generate-inline-fizz-runtime
$ git diff --exit-code || (echo "There was a change to the Fizz runtime. Run `yarn generate-inline-fizz-runtime` and check in the result." && false)
diff --git a/packages/react-dom-bindings/src/server/fizz-instruction-set/ReactDOMFizzInstructionSetInlineCodeStrings.js b/packages/react-dom-bindings/src/server/fizz-instruction-set/ReactDOMFizzInstructionSetInlineCodeStrings.js
index 4e7fb4b73f..bfdfe07481 100644
--- a/packages/react-dom-bindings/src/server/fizz-instruction-set/ReactDOMFizzInstructionSetInlineCodeStrings.js
+++ b/packages/react-dom-bindings/src/server/fizz-instruction-set/ReactDOMFizzInstructionSetInlineCodeStrings.js
@@ -1,8 +1,7 @@
 // This is a generated file. The source files are in react-dom-bindings/src/server/fizz-instruction-set.
 // The build script is at scripts/rollup/generate-inline-fizz-runtime.js.
 // Run `yarn generate-inline-fizz-runtime` to generate.
-export const markShellTime =
-  'requestAnimationFrame(function(){$RT=performance.now()});';
+export const markShellTime = 'console.log(1);';
 export const clientRenderBoundary =
   '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};';
 export const completeBoundary =
There was a change to the Fizz runtime. Run `yarn generate-inline-fizz-runtime` and check in the result.

@meta-cla meta-cla bot added the CLA Signed label Sep 18, 2025
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Sep 18, 2025
@eps1lon eps1lon force-pushed the sebbie/09-18-include_fizz_runtime_diff_in_ci branch from 069a6ca to b4e7a70 Compare September 18, 2025 14:18
@react-sizebot
Copy link

react-sizebot commented Sep 18, 2025

Comparing: 84af908...b4c8d2a

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.js = 6.68 kB 6.68 kB = 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 534.28 kB 534.32 kB +0.01% 94.31 kB 94.32 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 663.61 kB 663.64 kB +0.01% 116.99 kB 117.01 kB
facebook-www/ReactDOM-prod.classic.js = 687.53 kB 687.59 kB +0.02% 121.02 kB 121.04 kB
facebook-www/ReactDOM-prod.modern.js +0.01% 677.95 kB 678.02 kB +0.01% 119.37 kB 119.39 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
facebook-www/ReactDOM-profiling.classic.js = 762.85 kB 760.79 kB = 131.27 kB 130.92 kB
facebook-www/ReactDOM-profiling.modern.js = 754.75 kB 752.69 kB = 129.89 kB 129.54 kB
oss-experimental/react-dom/cjs/react-dom-unstable_testing.development.js = 1,236.53 kB 1,232.45 kB = 206.84 kB 206.31 kB
oss-experimental/react-dom/cjs/react-dom-profiling.development.js = 1,236.37 kB 1,232.29 kB = 206.04 kB 205.52 kB
facebook-www/ReactDOMTesting-dev.classic.js = 1,285.68 kB 1,281.40 kB = 213.52 kB 212.75 kB
oss-experimental/react-dom/cjs/react-dom-profiling.profiling.js = 731.69 kB 729.25 kB = 126.97 kB 126.68 kB
oss-experimental/react-dom/cjs/react-dom-client.development.js = 1,219.99 kB 1,215.91 kB = 203.24 kB 202.72 kB
facebook-www/ReactDOMTesting-dev.modern.js = 1,276.51 kB 1,272.23 kB = 211.74 kB 210.98 kB
facebook-www/ReactDOM-dev.classic.js = 1,269.15 kB 1,264.87 kB = 209.75 kB 208.98 kB
facebook-www/ReactDOM-dev.modern.js = 1,259.98 kB 1,255.70 kB = 207.98 kB 207.25 kB
facebook-react-native/react-dom/cjs/ReactDOMProfiling-profiling.js = 670.62 kB 668.25 kB = 115.03 kB 114.70 kB
facebook-react-native/react-dom/cjs/ReactDOMClient-profiling.js = 664.69 kB 662.31 kB = 113.88 kB 113.54 kB
oss-experimental/react-reconciler/cjs/react-reconciler.profiling.js = 548.80 kB 546.70 kB = 85.86 kB 85.56 kB
facebook-react-native/react-dom/cjs/ReactDOMProfiling-dev.js = 1,155.73 kB 1,151.25 kB = 190.99 kB 190.32 kB
facebook-react-native/react-dom/cjs/ReactDOMClient-dev.js = 1,139.46 kB 1,134.98 kB = 188.18 kB 187.51 kB
react-native/implementations/ReactNativeRenderer-profiling.fb.js = 464.19 kB 462.13 kB = 77.47 kB 77.11 kB
react-native/implementations/ReactFabric-profiling.fb.js = 457.71 kB 455.66 kB = 76.55 kB 76.20 kB
oss-experimental/react-reconciler/cjs/react-reconciler.development.js = 838.12 kB 834.24 kB = 131.01 kB 130.40 kB
facebook-www/ReactReconciler-dev.classic.js = 877.76 kB 873.47 kB = 136.23 kB 135.52 kB
facebook-www/ReactReconciler-dev.modern.js = 868.52 kB 864.24 kB = 134.50 kB 133.78 kB
facebook-www/ReactART-dev.classic.js = 760.32 kB 756.38 kB = 118.99 kB 118.35 kB
facebook-www/ReactART-dev.modern.js = 750.80 kB 746.85 kB = 117.22 kB 116.60 kB
react-native/implementations/ReactNativeRenderer-dev.fb.js = 772.29 kB 768.15 kB = 122.63 kB 121.98 kB
react-native/implementations/ReactFabric-dev.fb.js = 763.71 kB 759.57 kB = 121.40 kB 120.76 kB
oss-experimental/react-art/cjs/react-art.development.js = 708.05 kB 704.17 kB = 111.86 kB 111.25 kB

Generated by 🚫 dangerJS against b4c8d2a

- run: |
yarn generate-inline-fizz-runtime
git diff --quiet || (echo "There was a change to the Fizz runtime. Run `yarn generate-inline-fizz-runtime` and check in the result." && false)
git diff --exit-code || (echo "There was a change to the Fizz runtime. Run \`yarn generate-inline-fizz-runtime\` and check in the result." && false)
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Escaping of backticks is required so that we don't actually run the script. Previously you'd get

There was a change to the Fizz runtime. Run yarn run v1.22.22
$ node ./scripts/rollup/generate-inline-fizz-runtime.js
Done in 7.88s. and check in the result.

instead of

There was a change to the Fizz runtime. Run `yarn generate-inline-fizz-runtime` and check in the result.

@eps1lon eps1lon marked this pull request as ready for review September 18, 2025 14:30
@eps1lon eps1lon merged commit cd85bb5 into facebook:main Sep 22, 2025
244 checks passed
@eps1lon eps1lon deleted the sebbie/09-18-include_fizz_runtime_diff_in_ci branch September 22, 2025 15:09
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.

2 participants