The Wayback Machine - https://web.archive.org/web/20210719233601/https://github.com/facebook/react/pull/21700
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

Next/experimental release versions include commit date #21700

Merged
merged 1 commit into from Jun 23, 2021

Conversation

@bvaughn
Copy link
Contributor

@bvaughn bvaughn commented Jun 18, 2021

Change format of @next and @experimental release versions from <number>-<sha> to <number>-<sha>-<date> to make them more human readable. This format still preserves the ability for us to easily map a version number to the changes it contains, while also being able to more easily know at a glance how recent a release is.

Note that the date used is the date of the commit (not the current date).
Screen Shot 2021-06-23 at 12 00 10 PM

Screen Shot 2021-06-23 at 1 49 01 PM

  • Build release locally (via scripts/release/build-release-locally.js) and verify version number in packages contains the date of the commit (e.g. 0.0.0-68053d940-20210623) and the version embedded as the ReactVersion const does as well (e.g. 17.0.3-68053d940-20210623).
  • Prepare release in CI (via scripts/release/prepare-release-from-ci.js) and verify version number in packages contains the date of the commit (0.0.0-68053d940-20210623 or 0.0.0-experimental-68053d940-20210623).
  • Dry run promote a local (or CI) build to prepare for stable release.
@bvaughn bvaughn requested review from gaearon, trueadm and acdlite Jun 18, 2021
@bvaughn bvaughn changed the title Add failing test for Suspense layout semantics Next and Experimental release versions include date Jun 18, 2021
@sizebot
Copy link

@sizebot sizebot commented Jun 18, 2021

Comparing: d7dce57...68053d9

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 +0.02% 127.36 kB 127.39 kB +0.02% 40.82 kB 40.83 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js +0.02% 130.17 kB 130.20 kB +0.02% 41.73 kB 41.74 kB
facebook-www/ReactDOM-prod.classic.js = 405.77 kB 405.80 kB +0.01% 75.01 kB 75.02 kB
facebook-www/ReactDOM-prod.modern.js = 394.20 kB 394.23 kB +0.01% 73.24 kB 73.25 kB
facebook-www/ReactDOMForked-prod.classic.js = 405.77 kB 405.80 kB +0.01% 75.01 kB 75.02 kB

Significant size changes

Includes any change greater than 0.2%:

(No significant changes)

Generated by 🚫 dangerJS against 68053d9

scripts/release/utils.js Outdated Show resolved Hide resolved
@bvaughn bvaughn changed the title Next and Experimental release versions include date Next/experimental release versions include commit date Jun 18, 2021
@bvaughn
Copy link
Contributor Author

@bvaughn bvaughn commented Jun 18, 2021

Seems unfortunate that our version number logic is split between "scripts/release" and "scripts/rollup".

Copy link
Member

@acdlite acdlite left a comment

Not totally opposed, but let's discuss at next team meeting before merging

@acdlite
Copy link
Member

@acdlite acdlite commented Jun 18, 2021

If we do decide to merge this, I would put the date at the end of the string instead of the middle so that it can't be matched by a ^ or ~.

@acdlite
Copy link
Member

@acdlite acdlite commented Jun 18, 2021

Actually it seems like there's enough consensus on the team that if you put the date at the end, we can go ahead and merge it

@rickhanlonii
Copy link
Member

@rickhanlonii rickhanlonii commented Jun 18, 2021

Let's be sure to update any references on the website to the new formatting, e.g. https://reactjs.org/docs/release-channels.html#experimental-channel

@rickhanlonii
Copy link
Member

@rickhanlonii rickhanlonii commented Jun 20, 2021

And the workgroup post: reactwg/react-18#9

@bvaughn bvaughn requested a review from acdlite Jun 22, 2021
@bvaughn
Copy link
Contributor Author

@bvaughn bvaughn commented Jun 23, 2021

Weird. The CI failure looks like it's from the previous version of the build file. It doesn't have the changes I pushed. Hmm.

$ node ./scripts/rollup/build-all-release-channels.js
/home/circleci/project/scripts/rollup/build-all-release-channels.js:28
const dateString = stdout.trim();
^

I'll try pushing again.

@bvaughn bvaughn force-pushed the bvaughn:next-experimental-release-versions branch from f0776fd to ab7e1e7 Jun 23, 2021
Change format of @next and @experimental release versions from <number>-<sha> to <number>-<sha>-<date> to make them more human readable.
@bvaughn bvaughn force-pushed the bvaughn:next-experimental-release-versions branch from b30372a to 68053d9 Jun 23, 2021
@bvaughn bvaughn merged commit 355591a into facebook:master Jun 23, 2021
34 checks passed
34 checks passed
@facebook-github-tools
Facebook CLA Check Contributor License Agreement is valid!
Details
ci/circleci: RELEASE_CHANNEL_stable_yarn_build Your tests passed on CircleCI!
Details
ci/circleci: RELEASE_CHANNEL_stable_yarn_test_dom_fixtures Your tests passed on CircleCI!
Details
ci/circleci: build_devtools_and_process_artifacts Your tests passed on CircleCI!
Details
ci/circleci: build_devtools_scheduling_profiler Your tests passed on CircleCI!
Details
ci/circleci: get_base_build Your tests passed on CircleCI!
Details
ci/circleci: process_artifacts_combined Your tests passed on CircleCI!
Details
ci/circleci: setup Your tests passed on CircleCI!
Details
ci/circleci: sizebot Your tests passed on CircleCI!
Details
ci/circleci: sync_reconciler_forks Your tests passed on CircleCI!
Details
ci/circleci: yarn_build Your tests passed on CircleCI!
Details
ci/circleci: yarn_build_combined Your tests passed on CircleCI!
Details
ci/circleci: yarn_flow Your tests passed on CircleCI!
Details
ci/circleci: yarn_lint Your tests passed on CircleCI!
Details
ci/circleci: yarn_lint_build Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=experimental --env=development Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=experimental --env=production Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=stable --env=development Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=stable --env=development --persistent Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=stable --env=production Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-classic --env=development --variant=false Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-classic --env=development --variant=true Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-classic --env=production --variant=false Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-classic --env=production --variant=true Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-modern --env=development --variant=false Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-modern --env=development --variant=true Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-modern --env=production --variant=false Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-modern --env=production --variant=true Your tests passed on CircleCI!
Details
ci/circleci: yarn_test_build---project=devtools -r=experimental Your tests passed on CircleCI!
Details
ci/circleci: yarn_test_build--r=experimental --env=development Your tests passed on CircleCI!
Details
ci/circleci: yarn_test_build--r=experimental --env=production Your tests passed on CircleCI!
Details
ci/circleci: yarn_test_build--r=stable --env=development Your tests passed on CircleCI!
Details
ci/circleci: yarn_test_build--r=stable --env=production Your tests passed on CircleCI!
Details
@codesandbox
ci/codesandbox Building packages succeeded.
Details
@bvaughn bvaughn deleted the bvaughn:next-experimental-release-versions branch Jun 23, 2021
bvaughn added a commit to bvaughn/reactjs.org that referenced this pull request Jun 23, 2021
@bvaughn
Copy link
Contributor Author

@bvaughn bvaughn commented Jun 23, 2021

bvaughn added a commit to reactjs/reactjs.org that referenced this pull request Jun 23, 2021
facebook-github-bot added a commit to facebookexperimental/Recoil that referenced this pull request Jun 27, 2021
Summary:
Includes a re-implementation of the `act` testing API to decouple it from the mock Scheduler module.

Because our Jest configuration mocks the Scheduler for all tests in www, some tests had become accidentally coupled to it. I had to update ~60 test files.

The most common pattern I found was people calling `act()` with a no-op function, which had the effect of flushing all pending work. This no longer works in the new implementation. (We will eventually provide a way to opt into Scheduler mocking for advanced cases, but it probably won't be the default.)

The fix was usually to wrap an earlier update in `act` to ensure that all its work is fully flushed.

 ---

This sync includes the following changes:
- **[27c9c95e2](facebook/react@27c9c95: act: Bypass microtask for "default sync" updates ([#21740](facebook/react#21740)) //<Andrew Clark>//
- **[e577bfb1c](facebook/react@e577bfb: Add tests for invokeGuardedCallback ([#21734](facebook/react#21734)) //<Dan Abramov>//
- **[355591add](facebook/react@355591a: Next/experimental release versions include commit date ([#21700](facebook/react#21700)) //<Brian Vaughn>//
- **[d7dce572c](facebook/react@d7dce57: Remove internal `act` builds from public modules ([#21721](facebook/react#21721)) //<Andrew Clark>//
- **[06f7b4f43](facebook/react@06f7b4f: `act` should work without mock Scheduler ([#21714](facebook/react#21714)) //<Andrew Clark>//
- **[422e0bb36](facebook/react@422e0bb: Delete test-utils implementation of `act` ([#21703](facebook/react#21703)) //<Andrew Clark>//

Reviewed By: rickhanlonii

Differential Revision: D29314763

fbshipit-source-id: 6c53a053e00defee0ab89f30e2f6bd2a1ff29bce
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment