From 8eef5d41d461d43f6f99698a451cbac47a2b1dbe Mon Sep 17 00:00:00 2001 From: ZeeshanTamboli Date: Fri, 5 May 2023 15:26:50 +0530 Subject: [PATCH 01/13] update node to v16 --- .circleci/config.yml | 2 +- .codesandbox/ci.json | 2 +- netlify.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9b02b1ccc76dc7..5f4bbb5ddd4e6e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,7 +44,7 @@ defaults: &defaults AWS_REGION_ARTIFACTS: eu-central-1 working_directory: /tmp/material-ui docker: - - image: cimg/node:14.21 + - image: cimg/node:16.20 # CircleCI has disabled the cache across forks for security reasons. # Following their official statement, it was a quick solution, they diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index 63f9d967754b4d..433b8dc48a72e0 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,7 +1,7 @@ { "buildCommand": "build:codesandbox", "installCommand": "install:codesandbox", - "node": "14", + "node": "16", "packages": [ "packages/mui-material", "packages/mui-codemod", diff --git a/netlify.toml b/netlify.toml index 74c7789a51aae7..402c168b084ecd 100644 --- a/netlify.toml +++ b/netlify.toml @@ -8,7 +8,7 @@ command = "yarn docs:build && yarn docs:export" [build.environment] - NODE_VERSION = "14" + NODE_VERSION = "16" # Not using `playwright` when building docs. PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1" From 0bdb62a5a7f175ad38b72e363c23083c2dce5972 Mon Sep 17 00:00:00 2001 From: ZeeshanTamboli Date: Tue, 16 May 2023 17:07:43 +0530 Subject: [PATCH 02/13] use Node.js version 18 --- .circleci/config.yml | 2 +- .codesandbox/ci.json | 2 +- netlify.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5f4bbb5ddd4e6e..fb1e26f50517ca 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,7 +44,7 @@ defaults: &defaults AWS_REGION_ARTIFACTS: eu-central-1 working_directory: /tmp/material-ui docker: - - image: cimg/node:16.20 + - image: cimg/node:18.16 # CircleCI has disabled the cache across forks for security reasons. # Following their official statement, it was a quick solution, they diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index 433b8dc48a72e0..5afb5c27d36021 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,7 +1,7 @@ { "buildCommand": "build:codesandbox", "installCommand": "install:codesandbox", - "node": "16", + "node": "18", "packages": [ "packages/mui-material", "packages/mui-codemod", diff --git a/netlify.toml b/netlify.toml index 402c168b084ecd..1be049827eae4b 100644 --- a/netlify.toml +++ b/netlify.toml @@ -8,7 +8,7 @@ command = "yarn docs:build && yarn docs:export" [build.environment] - NODE_VERSION = "16" + NODE_VERSION = "18" # Not using `playwright` when building docs. PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1" From 2790c51e805419d17db6a23b75d96d78c7028f77 Mon Sep 17 00:00:00 2001 From: ZeeshanTamboli Date: Tue, 16 May 2023 18:05:53 +0530 Subject: [PATCH 03/13] Revert "use Node.js version 18" This reverts commit 0bdb62a5a7f175ad38b72e363c23083c2dce5972. --- .circleci/config.yml | 2 +- .codesandbox/ci.json | 2 +- netlify.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6084c882fb4a3e..6d423715d41ea5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,7 +44,7 @@ defaults: &defaults AWS_REGION_ARTIFACTS: eu-central-1 working_directory: /tmp/material-ui docker: - - image: cimg/node:18.16 + - image: cimg/node:16.20 # CircleCI has disabled the cache across forks for security reasons. # Following their official statement, it was a quick solution, they diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index 5afb5c27d36021..433b8dc48a72e0 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,7 +1,7 @@ { "buildCommand": "build:codesandbox", "installCommand": "install:codesandbox", - "node": "18", + "node": "16", "packages": [ "packages/mui-material", "packages/mui-codemod", diff --git a/netlify.toml b/netlify.toml index 1be049827eae4b..402c168b084ecd 100644 --- a/netlify.toml +++ b/netlify.toml @@ -8,7 +8,7 @@ command = "yarn docs:build && yarn docs:export" [build.environment] - NODE_VERSION = "18" + NODE_VERSION = "16" # Not using `playwright` when building docs. PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1" From 7dd778186f0cd5e1ab2440e6a71648052d05139e Mon Sep 17 00:00:00 2001 From: ZeeshanTamboli Date: Tue, 16 May 2023 18:23:34 +0530 Subject: [PATCH 04/13] poke CI From 509fde5afc4165605c34e1a768c18afb59d61a0d Mon Sep 17 00:00:00 2001 From: ZeeshanTamboli Date: Wed, 17 May 2023 12:03:06 +0530 Subject: [PATCH 05/13] upgrade to Node v18 --- .circleci/config.yml | 2 +- .codesandbox/ci.json | 2 +- netlify.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6d423715d41ea5..6084c882fb4a3e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,7 +44,7 @@ defaults: &defaults AWS_REGION_ARTIFACTS: eu-central-1 working_directory: /tmp/material-ui docker: - - image: cimg/node:16.20 + - image: cimg/node:18.16 # CircleCI has disabled the cache across forks for security reasons. # Following their official statement, it was a quick solution, they diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index 433b8dc48a72e0..5afb5c27d36021 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,7 +1,7 @@ { "buildCommand": "build:codesandbox", "installCommand": "install:codesandbox", - "node": "16", + "node": "18", "packages": [ "packages/mui-material", "packages/mui-codemod", diff --git a/netlify.toml b/netlify.toml index 402c168b084ecd..1be049827eae4b 100644 --- a/netlify.toml +++ b/netlify.toml @@ -8,7 +8,7 @@ command = "yarn docs:build && yarn docs:export" [build.environment] - NODE_VERSION = "16" + NODE_VERSION = "18" # Not using `playwright` when building docs. PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1" From debaaab847430935709b29646abb315b42352db6 Mon Sep 17 00:00:00 2001 From: ZeeshanTamboli Date: Wed, 17 May 2023 12:09:28 +0530 Subject: [PATCH 06/13] Revert "upgrade to Node v18" This reverts commit 509fde5afc4165605c34e1a768c18afb59d61a0d. --- .circleci/config.yml | 2 +- .codesandbox/ci.json | 2 +- netlify.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6084c882fb4a3e..6d423715d41ea5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,7 +44,7 @@ defaults: &defaults AWS_REGION_ARTIFACTS: eu-central-1 working_directory: /tmp/material-ui docker: - - image: cimg/node:18.16 + - image: cimg/node:16.20 # CircleCI has disabled the cache across forks for security reasons. # Following their official statement, it was a quick solution, they diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index 5afb5c27d36021..433b8dc48a72e0 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,7 +1,7 @@ { "buildCommand": "build:codesandbox", "installCommand": "install:codesandbox", - "node": "18", + "node": "16", "packages": [ "packages/mui-material", "packages/mui-codemod", diff --git a/netlify.toml b/netlify.toml index 1be049827eae4b..402c168b084ecd 100644 --- a/netlify.toml +++ b/netlify.toml @@ -8,7 +8,7 @@ command = "yarn docs:build && yarn docs:export" [build.environment] - NODE_VERSION = "18" + NODE_VERSION = "16" # Not using `playwright` when building docs. PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1" From 91c7b859c8c1a22fca30f6b735c76a925dd0dbc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dudak?= Date: Wed, 17 May 2023 12:50:50 +0200 Subject: [PATCH 07/13] Use the medium+ resource class for all tasks on CircleCI --- .circleci/config.yml | 7 +++---- .codesandbox/ci.json | 2 +- netlify.toml | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6d423715d41ea5..7c3d3dd80eae37 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -44,7 +44,8 @@ defaults: &defaults AWS_REGION_ARTIFACTS: eu-central-1 working_directory: /tmp/material-ui docker: - - image: cimg/node:16.20 + - image: cimg/node:18.16 + resource_class: 'medium+' # CircleCI has disabled the cache across forks for security reasons. # Following their official statement, it was a quick solution, they @@ -247,7 +248,7 @@ jobs: git diff --exit-code test_types: <<: *defaults - resource_class: 'medium+' + steps: - checkout - install_js @@ -297,7 +298,6 @@ jobs: - packages/mui-utils/build test_types_next: <<: *defaults - resource_class: 'medium+' steps: - checkout - run: @@ -346,7 +346,6 @@ jobs: exit 0 test_browser: <<: *defaults - resource_class: 'medium+' docker: - image: mcr.microsoft.com/playwright:v1.33.0-focal environment: diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index 433b8dc48a72e0..5afb5c27d36021 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,7 +1,7 @@ { "buildCommand": "build:codesandbox", "installCommand": "install:codesandbox", - "node": "16", + "node": "18", "packages": [ "packages/mui-material", "packages/mui-codemod", diff --git a/netlify.toml b/netlify.toml index 402c168b084ecd..1be049827eae4b 100644 --- a/netlify.toml +++ b/netlify.toml @@ -8,7 +8,7 @@ command = "yarn docs:build && yarn docs:export" [build.environment] - NODE_VERSION = "16" + NODE_VERSION = "18" # Not using `playwright` when building docs. PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1" From a0abe75eefe33524b45cd65eb08949a9e05d72d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dudak?= Date: Wed, 17 May 2023 13:12:34 +0200 Subject: [PATCH 08/13] Fix tests under Node 18 --- packages/mui-material-next/src/Tabs/Tabs.test.js | 14 ++++++++++++-- packages/mui-material/src/Tabs/Tabs.test.js | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/packages/mui-material-next/src/Tabs/Tabs.test.js b/packages/mui-material-next/src/Tabs/Tabs.test.js index 9d17ac411e1107..3c894e825c13e1 100644 --- a/packages/mui-material-next/src/Tabs/Tabs.test.js +++ b/packages/mui-material-next/src/Tabs/Tabs.test.js @@ -338,11 +338,21 @@ describe('', () => { nodeEnv = process.env.NODE_ENV; // We can't use a regular assignment, because it causes a syntax error in Karma - Object.defineProperty(process.env, 'NODE_ENV', { value: 'development' }); + Object.defineProperty(process.env, 'NODE_ENV', { + value: 'development', + configurable: true, + writable: true, + enumerable: true, + }); }); after(() => { - Object.defineProperty(process.env, 'NODE_ENV', { value: nodeEnv }); + Object.defineProperty(process.env, 'NODE_ENV', { + value: nodeEnv, + configurable: true, + writable: true, + enumerable: true, + }); }); it('should warn if a Tab has display: none', () => { diff --git a/packages/mui-material/src/Tabs/Tabs.test.js b/packages/mui-material/src/Tabs/Tabs.test.js index afeffea0d3e229..16ecb2c42c39c4 100644 --- a/packages/mui-material/src/Tabs/Tabs.test.js +++ b/packages/mui-material/src/Tabs/Tabs.test.js @@ -375,11 +375,21 @@ describe('', () => { nodeEnv = process.env.NODE_ENV; // We can't use a regular assignment, because it causes a syntax error in Karma - Object.defineProperty(process.env, 'NODE_ENV', { value: 'development' }); + Object.defineProperty(process.env, 'NODE_ENV', { + value: 'development', + configurable: true, + writable: true, + enumerable: true, + }); }); after(() => { - Object.defineProperty(process.env, 'NODE_ENV', { value: nodeEnv }); + Object.defineProperty(process.env, 'NODE_ENV', { + value: nodeEnv, + configurable: true, + writable: true, + enumerable: true, + }); }); it('should warn if a `Tab` has display: none', function test() { From 73c073055300bb3f5910755528c601f6e7d4bb33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dudak?= Date: Tue, 23 May 2023 09:11:41 +0200 Subject: [PATCH 09/13] Limit build concurrency --- .circleci/config.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7c3d3dd80eae37..72891cda51462a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -45,7 +45,6 @@ defaults: &defaults working_directory: /tmp/material-ui docker: - image: cimg/node:18.16 - resource_class: 'medium+' # CircleCI has disabled the cache across forks for security reasons. # Following their official statement, it was a quick solution, they @@ -248,6 +247,7 @@ jobs: git diff --exit-code test_types: <<: *defaults + resource_class: 'medium+' steps: - checkout @@ -298,6 +298,7 @@ jobs: - packages/mui-utils/build test_types_next: <<: *defaults + resource_class: 'medium+' steps: - checkout - run: @@ -346,6 +347,7 @@ jobs: exit 0 test_browser: <<: *defaults + resource_class: 'medium+' docker: - image: mcr.microsoft.com/playwright:v1.33.0-focal environment: @@ -671,7 +673,7 @@ jobs: DANGER_COMMAND: prepareBundleSizeReport - run: name: build @mui packages - command: yarn lerna run --ignore @mui/icons-material --parallel --scope "@mui/*" build + command: yarn lerna run --ignore @mui/icons-material --concurrency 4 --scope "@mui/*" build - run: name: create @mui/material canary distributable command: | From a67c60eb051cd5192fc7aa62506a91f587713e15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dudak?= Date: Tue, 23 May 2023 09:25:30 +0200 Subject: [PATCH 10/13] concurrency = 5 --- .circleci/config.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 72891cda51462a..cc2ebe3687fa1d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -248,7 +248,6 @@ jobs: test_types: <<: *defaults resource_class: 'medium+' - steps: - checkout - install_js @@ -673,7 +672,7 @@ jobs: DANGER_COMMAND: prepareBundleSizeReport - run: name: build @mui packages - command: yarn lerna run --ignore @mui/icons-material --concurrency 4 --scope "@mui/*" build + command: yarn lerna run --ignore @mui/icons-material --concurrency 5 --scope "@mui/*" build - run: name: create @mui/material canary distributable command: | From f94d23ba6470d68d9b0867c954bc9720a04e01fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dudak?= Date: Tue, 23 May 2023 11:29:32 +0200 Subject: [PATCH 11/13] concurrency = 8 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cc2ebe3687fa1d..dd83bed3cc0882 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -672,7 +672,7 @@ jobs: DANGER_COMMAND: prepareBundleSizeReport - run: name: build @mui packages - command: yarn lerna run --ignore @mui/icons-material --concurrency 5 --scope "@mui/*" build + command: yarn lerna run --ignore @mui/icons-material --concurrency 8 --scope "@mui/*" build - run: name: create @mui/material canary distributable command: | From 5736c91523e0b570531cd47a3d7b74112cfba3cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dudak?= Date: Tue, 23 May 2023 13:12:53 +0200 Subject: [PATCH 12/13] concurrency = 10 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dd83bed3cc0882..9fda3c7fea19da 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -672,7 +672,7 @@ jobs: DANGER_COMMAND: prepareBundleSizeReport - run: name: build @mui packages - command: yarn lerna run --ignore @mui/icons-material --concurrency 8 --scope "@mui/*" build + command: yarn lerna run --ignore @mui/icons-material --concurrency 10 --scope "@mui/*" build - run: name: create @mui/material canary distributable command: | From eb378a8b74d27fd870d64af42946fa4d719b3b77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Dudak?= Date: Tue, 23 May 2023 13:27:31 +0200 Subject: [PATCH 13/13] concurrency = 8 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9fda3c7fea19da..dd83bed3cc0882 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -672,7 +672,7 @@ jobs: DANGER_COMMAND: prepareBundleSizeReport - run: name: build @mui packages - command: yarn lerna run --ignore @mui/icons-material --concurrency 10 --scope "@mui/*" build + command: yarn lerna run --ignore @mui/icons-material --concurrency 8 --scope "@mui/*" build - run: name: create @mui/material canary distributable command: |