From 6e845394275e6a6ee414d41041fa65a442e6034b Mon Sep 17 00:00:00 2001 From: Jon Thysell Date: Thu, 15 Aug 2024 15:52:58 -0700 Subject: [PATCH 1/2] [0.74] Bump minimum VS version to 17.11.0 This PR backports #13455 to 0.74. This PR bumps the minimum version of VS that RNW expects to 17.11.0. - Bug fix (non-breaking change which fixes an issue) To make sure users don't use the regressed builds of VS 2022. Resolves #13339 Resolves #13374 Bumped VS version checks for `run-windows` and `rnw-dependencies.ps1`. Updated ADO image to reflect updated images are no longer locked to VS v17.9.4. N/A `run-windows` now works with 17.11.0. Should this change be included in the release notes: _yes_ Require Visual Studio 2022 >= v17.11.0 --- .ado/templates/react-native-init-windows.yml | 3 ++- .ado/templates/react-native-init.yml | 3 ++- ...e-windows-cli-43e4c71b-04c9-455c-a70d-68bf8968074c.json | 7 +++++++ ...ative-windows-5db66c4d-8de8-4f82-8f09-7feba85c9359.json | 7 +++++++ .../cli/src/commands/healthCheck/healthCheckList.ts | 2 +- .../@react-native-windows/cli/src/utils/msbuildtools.ts | 2 +- .../React.Windows.Desktop.ABITests.vcxproj | 2 +- .../Microsoft.ReactNative.ComponentTests.vcxproj | 2 +- .../Microsoft.ReactNative.Cxx.UnitTests.vcxproj | 2 +- .../Microsoft.ReactNative.IntegrationTests.vcxproj | 2 +- vnext/Mso.UnitTests/Mso.UnitTests.vcxproj | 2 +- vnext/ReactCommon.UnitTests/ReactCommon.UnitTests.vcxproj | 2 +- vnext/Scripts/rnw-dependencies.ps1 | 2 +- 13 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 change/@react-native-windows-cli-43e4c71b-04c9-455c-a70d-68bf8968074c.json create mode 100644 change/react-native-windows-5db66c4d-8de8-4f82-8f09-7feba85c9359.json diff --git a/.ado/templates/react-native-init-windows.yml b/.ado/templates/react-native-init-windows.yml index ea064d9bbfc..e407e8f92ac 100644 --- a/.ado/templates/react-native-init-windows.yml +++ b/.ado/templates/react-native-init-windows.yml @@ -153,7 +153,8 @@ steps: displayName: Create bundle testcli workingDirectory: $(Agent.BuildDirectory)\testcli - - ${{ if eq(parameters.runWack, true) }}: + # Temporarily disabling due to spurious failures in CI, see https://github.com/microsoft/react-native-windows/issues/13578 + - ${{ if and(false, eq(parameters.runWack, true)) }}: - template: ../templates/run-wack.yml parameters: packageName: ReactNative.InitTest diff --git a/.ado/templates/react-native-init.yml b/.ado/templates/react-native-init.yml index d814ece43f1..e2b5899ac0c 100644 --- a/.ado/templates/react-native-init.yml +++ b/.ado/templates/react-native-init.yml @@ -179,7 +179,8 @@ steps: displayName: Create bundle testcli workingDirectory: $(Agent.BuildDirectory)\testcli - - ${{ if eq(parameters.runWack, true) }}: + # Temporarily disabling due to spurious failures in CI, see https://github.com/microsoft/react-native-windows/issues/13578 + - ${{ if and(false, eq(parameters.runWack, true)) }}: - template: ../templates/run-wack.yml parameters: packageName: ReactNative.InitTest diff --git a/change/@react-native-windows-cli-43e4c71b-04c9-455c-a70d-68bf8968074c.json b/change/@react-native-windows-cli-43e4c71b-04c9-455c-a70d-68bf8968074c.json new file mode 100644 index 00000000000..d686971a11a --- /dev/null +++ b/change/@react-native-windows-cli-43e4c71b-04c9-455c-a70d-68bf8968074c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "[0.74] Bump minimum VS version to 17.11.0", + "packageName": "@react-native-windows/cli", + "email": "jthysell@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/react-native-windows-5db66c4d-8de8-4f82-8f09-7feba85c9359.json b/change/react-native-windows-5db66c4d-8de8-4f82-8f09-7feba85c9359.json new file mode 100644 index 00000000000..8d326e190c5 --- /dev/null +++ b/change/react-native-windows-5db66c4d-8de8-4f82-8f09-7feba85c9359.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "[0.74] Bump minimum VS version to 17.11.0", + "packageName": "react-native-windows", + "email": "jthysell@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/packages/@react-native-windows/cli/src/commands/healthCheck/healthCheckList.ts b/packages/@react-native-windows/cli/src/commands/healthCheck/healthCheckList.ts index fa99e653a14..1cf697bfe9f 100644 --- a/packages/@react-native-windows/cli/src/commands/healthCheck/healthCheckList.ts +++ b/packages/@react-native-windows/cli/src/commands/healthCheck/healthCheckList.ts @@ -11,7 +11,7 @@ export const HealthCheckList = [ [true, 'WindowsVersion', 'Windows version >= 10.0.17763.0'], [true, 'DeveloperMode', 'Developer mode is on'], [true, 'LongPath', 'Long path support is enabled'], - [true, 'VSUWP', 'Visual Studio 2022 (>= 17.9) & req. components'], + [true, 'VSUWP', 'Visual Studio 2022 (>= 17.11.0) & req. components'], [true, 'Node', 'Node.js (LTS, >= 18.0)'], [true, 'Yarn', 'Yarn'], [true, 'DotNetCore', '.NET SDK (LTS, = 6.0)'], diff --git a/packages/@react-native-windows/cli/src/utils/msbuildtools.ts b/packages/@react-native-windows/cli/src/utils/msbuildtools.ts index 9bf58722441..bbc15a561d0 100644 --- a/packages/@react-native-windows/cli/src/utils/msbuildtools.ts +++ b/packages/@react-native-windows/cli/src/utils/msbuildtools.ts @@ -203,7 +203,7 @@ export default class MSBuildTools { const minVersion = process.env.MinimumVisualStudioVersion || process.env.VisualStudioVersion || - '17.0'; + '17.11.0'; const vsInstallation = findLatestVsInstall({ requires, minVersion, diff --git a/vnext/Desktop.ABITests/React.Windows.Desktop.ABITests.vcxproj b/vnext/Desktop.ABITests/React.Windows.Desktop.ABITests.vcxproj index fba21e17b4a..349e0ca60e6 100644 --- a/vnext/Desktop.ABITests/React.Windows.Desktop.ABITests.vcxproj +++ b/vnext/Desktop.ABITests/React.Windows.Desktop.ABITests.vcxproj @@ -172,7 +172,7 @@ - + diff --git a/vnext/Microsoft.ReactNative.ComponentTests/Microsoft.ReactNative.ComponentTests.vcxproj b/vnext/Microsoft.ReactNative.ComponentTests/Microsoft.ReactNative.ComponentTests.vcxproj index 39c26cab45e..ff8d04bd3f4 100644 --- a/vnext/Microsoft.ReactNative.ComponentTests/Microsoft.ReactNative.ComponentTests.vcxproj +++ b/vnext/Microsoft.ReactNative.ComponentTests/Microsoft.ReactNative.ComponentTests.vcxproj @@ -227,7 +227,7 @@ - + diff --git a/vnext/Microsoft.ReactNative.Cxx.UnitTests/Microsoft.ReactNative.Cxx.UnitTests.vcxproj b/vnext/Microsoft.ReactNative.Cxx.UnitTests/Microsoft.ReactNative.Cxx.UnitTests.vcxproj index 21e26e5e337..fd19993607c 100644 --- a/vnext/Microsoft.ReactNative.Cxx.UnitTests/Microsoft.ReactNative.Cxx.UnitTests.vcxproj +++ b/vnext/Microsoft.ReactNative.Cxx.UnitTests/Microsoft.ReactNative.Cxx.UnitTests.vcxproj @@ -160,7 +160,7 @@ - + diff --git a/vnext/Microsoft.ReactNative.IntegrationTests/Microsoft.ReactNative.IntegrationTests.vcxproj b/vnext/Microsoft.ReactNative.IntegrationTests/Microsoft.ReactNative.IntegrationTests.vcxproj index 4fcf453d861..b9fb3cd9861 100644 --- a/vnext/Microsoft.ReactNative.IntegrationTests/Microsoft.ReactNative.IntegrationTests.vcxproj +++ b/vnext/Microsoft.ReactNative.IntegrationTests/Microsoft.ReactNative.IntegrationTests.vcxproj @@ -174,7 +174,7 @@ - + diff --git a/vnext/Mso.UnitTests/Mso.UnitTests.vcxproj b/vnext/Mso.UnitTests/Mso.UnitTests.vcxproj index 2f82a9570e9..24369463cac 100644 --- a/vnext/Mso.UnitTests/Mso.UnitTests.vcxproj +++ b/vnext/Mso.UnitTests/Mso.UnitTests.vcxproj @@ -170,7 +170,7 @@ - + diff --git a/vnext/ReactCommon.UnitTests/ReactCommon.UnitTests.vcxproj b/vnext/ReactCommon.UnitTests/ReactCommon.UnitTests.vcxproj index 1652bd7a643..038707bf99a 100644 --- a/vnext/ReactCommon.UnitTests/ReactCommon.UnitTests.vcxproj +++ b/vnext/ReactCommon.UnitTests/ReactCommon.UnitTests.vcxproj @@ -179,7 +179,7 @@ - + \ No newline at end of file diff --git a/vnext/Scripts/rnw-dependencies.ps1 b/vnext/Scripts/rnw-dependencies.ps1 index c6711417ca3..8bf3f797b56 100644 --- a/vnext/Scripts/rnw-dependencies.ps1 +++ b/vnext/Scripts/rnw-dependencies.ps1 @@ -85,7 +85,7 @@ $vsAll = ($vsComponents + $vsWorkloads); # The minimum VS version to check for # Note: For install to work, whatever min version you specify here must be met by the current package available on winget. -$vsver = "17.9"; +$vsver = "17.11.0"; # The exact .NET SDK version to check for $dotnetver = "6.0"; From 21807668c121bcc0be4c8c6942790e34f7bd1bde Mon Sep 17 00:00:00 2001 From: Marlene Cota <1422161+marlenecota@users.noreply.github.com> Date: Mon, 15 Jul 2024 16:34:49 -0700 Subject: [PATCH 2/2] Increase Desktop job timeouts due to #13442 (#13444) --- .ado/jobs/desktop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ado/jobs/desktop.yml b/.ado/jobs/desktop.yml index 6f5e583a041..7caaad4d46c 100644 --- a/.ado/jobs/desktop.yml +++ b/.ado/jobs/desktop.yml @@ -113,7 +113,7 @@ jobs: (FullyQualifiedName!~PreparedJavaScriptSourceTest) pool: ${{ parameters.AgentPool.Medium }} - timeoutInMinutes: 60 # how long to run the job before automatically cancelling + timeoutInMinutes: 80 # how long to run the job before automatically cancelling - Issue 13442 cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them steps: