diff --git a/.circleci/config.yml b/.circleci/config.yml
index bfd2cc916b90d..98915ea14a38e 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -98,7 +98,10 @@ jobs:
- checkout
- *restore_yarn_cache
- *run_yarn
- - run: yarn test --maxWorkers=2
+ - run:
+ environment:
+ RELEASE_CHANNEL: stable
+ command: yarn test --maxWorkers=2
test_source_experimental:
docker: *docker
@@ -120,7 +123,10 @@ jobs:
- checkout
- *restore_yarn_cache
- *run_yarn
- - run: yarn test-persistent --maxWorkers=2
+ - run:
+ environment:
+ RELEASE_CHANNEL: stable
+ command: yarn test-persistent --maxWorkers=2
test_source_prod:
docker: *docker
@@ -130,7 +136,10 @@ jobs:
- checkout
- *restore_yarn_cache
- *run_yarn
- - run: yarn test-prod --maxWorkers=2
+ - run:
+ environment:
+ RELEASE_CHANNEL: stable
+ command: yarn test-prod --maxWorkers=2
build:
docker: *docker
@@ -217,7 +226,23 @@ jobs:
- attach_workspace: *attach_workspace
- *restore_yarn_cache
- *run_yarn
- - run: yarn test-build --maxWorkers=2
+ - run:
+ environment:
+ RELEASE_CHANNEL: stable
+ command: yarn test-build --maxWorkers=2
+
+ test_build_experimental:
+ docker: *docker
+ environment: *environment
+ steps:
+ - checkout
+ - attach_workspace: *attach_workspace
+ - *restore_yarn_cache
+ - *run_yarn
+ - run:
+ environment:
+ RELEASE_CHANNEL: experimental
+ command: yarn test-build --maxWorkers=2
test_build_devtools:
docker: *docker
@@ -227,7 +252,10 @@ jobs:
- attach_workspace: *attach_workspace
- *restore_yarn_cache
- *run_yarn
- - run: yarn test-build-devtools --maxWorkers=2
+ - run:
+ environment:
+ RELEASE_CHANNEL: stable
+ command: yarn test-build --maxWorkers=2
test_dom_fixtures:
docker: *docker
@@ -238,6 +266,8 @@ jobs:
- *restore_yarn_cache
- run:
name: Run DOM fixture tests
+ environment:
+ RELEASE_CHANNEL: stable
command: |
cd fixtures/dom
yarn --frozen-lockfile
@@ -265,7 +295,23 @@ jobs:
- attach_workspace: *attach_workspace
- *restore_yarn_cache
- *run_yarn
- - run: yarn test-build-prod --maxWorkers=2
+ - run:
+ environment:
+ RELEASE_CHANNEL: stable
+ command: yarn test-build-prod --maxWorkers=2
+
+ test_build_prod_experimental:
+ docker: *docker
+ environment: *environment
+ steps:
+ - checkout
+ - attach_workspace: *attach_workspace
+ - *restore_yarn_cache
+ - *run_yarn
+ - run:
+ environment:
+ RELEASE_CHANNEL: experimental
+ command: yarn test-build-prod --maxWorkers=2
workflows:
version: 2
@@ -324,6 +370,12 @@ workflows:
- process_artifacts_experimental:
requires:
- build_experimental
+ - test_build_experimental:
+ requires:
+ - build_experimental
+ - test_build_prod_experimental:
+ requires:
+ - build_experimental
fuzz_tests:
triggers:
diff --git a/fixtures/dom/src/__tests__/wrong-act-test.js b/fixtures/dom/src/__tests__/wrong-act-test.js
index 05dda494d1126..6c054efec1bf9 100644
--- a/fixtures/dom/src/__tests__/wrong-act-test.js
+++ b/fixtures/dom/src/__tests__/wrong-act-test.js
@@ -17,6 +17,7 @@ let TestRenderer;
let ARTTest;
global.__DEV__ = process.env.NODE_ENV !== 'production';
+global.__EXPERIMENTAL__ = process.env.RELEASE_CHANNEL === 'experimental';
expect.extend(require('../toWarnDev'));
@@ -176,19 +177,21 @@ it("doesn't warn if you use nested acts from different renderers", () => {
});
});
-it('warns when using createRoot() + .render', () => {
- const root = ReactDOM.unstable_createRoot(document.createElement('div'));
- expect(() => {
- TestRenderer.act(() => {
- root.render();
- });
- }).toWarnDev(
- [
- 'In Concurrent or Sync modes, the "scheduler" module needs to be mocked',
- "It looks like you're using the wrong act()",
- ],
- {
- withoutStack: true,
- }
- );
-});
+if (__EXPERIMENTAL__) {
+ it('warns when using createRoot() + .render', () => {
+ const root = ReactDOM.createRoot(document.createElement('div'));
+ expect(() => {
+ TestRenderer.act(() => {
+ root.render();
+ });
+ }).toWarnDev(
+ [
+ 'In Concurrent or Sync modes, the "scheduler" module needs to be mocked',
+ "It looks like you're using the wrong act()",
+ ],
+ {
+ withoutStack: true,
+ }
+ );
+ });
+}
diff --git a/packages/react-devtools-shared/src/__tests__/__snapshots__/storeStressTestConcurrent-test.js.snap b/packages/react-devtools-shared/src/__tests__/__snapshots__/storeStressTestConcurrent-test.js.snap
deleted file mode 100644
index 9527d9f6025de..0000000000000
--- a/packages/react-devtools-shared/src/__tests__/__snapshots__/storeStressTestConcurrent-test.js.snap
+++ /dev/null
@@ -1,493 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 1`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 2`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 3`] = `
-[root]
- ▾
-
- ▾
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 4`] = `
-[root]
- ▾
-
- ▾
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 5`] = `
-[root]
- ▾
-
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 6`] = `
-[root]
- ▾
-
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 7`] = `
-[root]
- ▾
-
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 8`] = `
-[root]
- ▾
-
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 9`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 10`] = `
-[root]
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 11`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense (Concurrent Mode) 12`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 1`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 2`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 3`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 4`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 5`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 6`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 7`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 8`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 9`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 10`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 11`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 12`] = `
-[root]
- ▾
-
- ▾
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 13`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 14`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 15`] = `
-[root]
- ▾
-
- ▾
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 16`] = `
-[root]
- ▾
-
- ▾
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 17`] = `
-[root]
- ▾
-
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 18`] = `
-[root]
- ▾
-
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 19`] = `
-[root]
- ▾
-
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 20`] = `
-[root]
- ▾
-
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 21`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 22`] = `
-[root]
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 23`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test for Suspense without type change (Concurrent Mode) 24`] = `
-[root]
- ▾
-
- ▾
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test with different tree operations (Concurrent Mode): 1: abcde 1`] = `
-[root]
- ▾
-
-
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle a stress test with different tree operations (Concurrent Mode): 2: abxde 1`] = `
-[root]
- ▾
-
-
- ▾
-
-
-
-`;
-
-exports[`StoreStressConcurrent should handle stress test with reordering (Concurrent Mode) 1`] = `
-[root]
- ▾
-
-`;
-
-exports[`StoreStressConcurrent should handle stress test with reordering (Concurrent Mode) 2`] = `
-[root]
- ▾
-
-`;
-
-exports[`StoreStressConcurrent should handle stress test with reordering (Concurrent Mode) 3`] = `
-[root]
- ▾
-
-`;
-
-exports[`StoreStressConcurrent should handle stress test with reordering (Concurrent Mode) 4`] = `
-[root]
- ▾
-
-`;
-
-exports[`StoreStressConcurrent should handle stress test with reordering (Concurrent Mode) 5`] = `
-[root]
- ▾
-
-`;
-
-exports[`StoreStressConcurrent should handle stress test with reordering (Concurrent Mode) 6`] = `
-[root]
- ▾
-
-`;
-
-exports[`StoreStressConcurrent should handle stress test with reordering (Concurrent Mode) 7`] = `
-[root]
- ▾
-
-`;
-
-exports[`StoreStressConcurrent should handle stress test with reordering (Concurrent Mode) 8`] = `
-[root]
- ▾
-
-`;
-
-exports[`StoreStressConcurrent should handle stress test with reordering (Concurrent Mode) 9`] = `
-[root]
- ▾