From d1d96059745a219ac954ddeea49d2a57237f4ed2 Mon Sep 17 00:00:00 2001 From: Victoria Ashworth <15619084+vashworth@users.noreply.github.com> Date: Tue, 27 Feb 2024 12:18:07 -0600 Subject: [PATCH] Remove force Xcode debug workflow (#144185) Now that all tests are on Xcode 15 and iOS 17, we no longer need to force test Xcode debug workflow. Related https://github.com/flutter/flutter/issues/144020. --- .ci.yaml | 41 --------------- TESTOWNERS | 4 -- .../tasks/flavors_test_ios_xcode_debug.dart | 52 ------------------- ...ter_gallery_ios__start_up_xcode_debug.dart | 21 -------- ...integration_ui_ios_driver_xcode_debug.dart | 21 -------- .../microbenchmarks_ios_xcode_debug.dart | 21 -------- .../flutter_tools/lib/src/ios/devices.dart | 34 +++--------- 7 files changed, 8 insertions(+), 186 deletions(-) delete mode 100644 dev/devicelab/bin/tasks/flavors_test_ios_xcode_debug.dart delete mode 100644 dev/devicelab/bin/tasks/flutter_gallery_ios__start_up_xcode_debug.dart delete mode 100644 dev/devicelab/bin/tasks/integration_ui_ios_driver_xcode_debug.dart delete mode 100644 dev/devicelab/bin/tasks/microbenchmarks_ios_xcode_debug.dart diff --git a/.ci.yaml b/.ci.yaml index f3ffb1ddc6..113145b90d 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -4314,16 +4314,6 @@ targets: ["devicelab", "ios", "mac"] task_name: flavors_test_ios - - name: Mac_arm64_ios flavors_test_ios_xcode_debug - recipe: devicelab/devicelab_drone - presubmit: false - timeout: 60 - properties: - tags: > - ["devicelab", "ios", "mac"] - task_name: flavors_test_ios_xcode_debug - bringup: true - - name: Mac_arm64_ios flutter_gallery_ios__compile recipe: devicelab/devicelab_drone presubmit: false @@ -4342,16 +4332,6 @@ targets: ["devicelab", "ios", "mac"] task_name: flutter_gallery_ios__start_up - - name: Mac_ios flutter_gallery_ios__start_up_xcode_debug - recipe: devicelab/devicelab_drone - presubmit: false - timeout: 60 - properties: - tags: > - ["devicelab", "ios", "mac"] - task_name: flutter_gallery_ios__start_up_xcode_debug - bringup: true - - name: Mac_ios flutter_view_ios__start_up recipe: devicelab/devicelab_drone presubmit: false @@ -4428,16 +4408,6 @@ targets: ["devicelab", "ios", "mac"] task_name: integration_ui_ios_driver - - name: Mac_ios integration_ui_ios_driver_xcode_debug - recipe: devicelab/devicelab_drone - presubmit: false - timeout: 60 - properties: - tags: > - ["devicelab", "ios", "mac"] - task_name: integration_ui_ios_driver_xcode_debug - bringup: true - - name: Mac_ios integration_ui_ios_frame_number recipe: devicelab/devicelab_drone presubmit: false @@ -4553,17 +4523,6 @@ targets: ["devicelab", "ios", "mac"] task_name: microbenchmarks_ios - # TODO(vashworth): Remove after Xcode 15 and iOS 17 are in CI (https://github.com/flutter/flutter/issues/132128) - - name: Mac_ios microbenchmarks_ios_xcode_debug - recipe: devicelab/devicelab_drone - presubmit: false - timeout: 60 - properties: - tags: > - ["devicelab", "ios", "mac"] - task_name: microbenchmarks_ios_xcode_debug - bringup: true - - name: Mac native_assets_ios_simulator recipe: devicelab/devicelab_drone presubmit: false diff --git a/TESTOWNERS b/TESTOWNERS index a0c1b9f780..66cfae454c 100644 --- a/TESTOWNERS +++ b/TESTOWNERS @@ -176,11 +176,9 @@ /dev/devicelab/bin/tasks/cubic_bezier_perf_ios_sksl_warmup__timeline_summary.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/external_textures_integration_test_ios.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/flavors_test_ios.dart @jmagman @flutter/tool -/dev/devicelab/bin/tasks/flavors_test_ios_xcode_debug.dart @vashworth @flutter/tool /dev/devicelab/bin/tasks/flutter_gallery__transition_perf_e2e_ios.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/flutter_gallery_ios__compile.dart @jmagman @flutter/engine /dev/devicelab/bin/tasks/flutter_gallery_ios__start_up.dart @vashworth @flutter/engine -/dev/devicelab/bin/tasks/flutter_gallery_ios__start_up_xcode_debug.dart @vashworth @flutter/engine /dev/devicelab/bin/tasks/flutter_gallery_ios_sksl_warmup__transition_perf.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/flutter_view_ios__start_up.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/fullscreen_textfield_perf_ios__e2e_summary.dart @vashworth @flutter/engine @@ -189,7 +187,6 @@ /dev/devicelab/bin/tasks/imagefiltered_transform_animation_perf_ios__timeline_summary.dart @hellohuanlin @flutter/engine /dev/devicelab/bin/tasks/integration_test_test_ios.dart @jmagman @flutter/engine /dev/devicelab/bin/tasks/integration_ui_ios_driver.dart @vashworth @flutter/tool -/dev/devicelab/bin/tasks/integration_ui_ios_driver_xcode_debug.dart @vashworth @flutter/tool /dev/devicelab/bin/tasks/integration_ui_ios_frame_number.dart @dnfield @flutter/engine /dev/devicelab/bin/tasks/integration_ui_ios_keyboard_resize.dart @vashworth @flutter/engine /dev/devicelab/bin/tasks/integration_ui_ios_screenshot.dart @vashworth @flutter/tool @@ -200,7 +197,6 @@ /dev/devicelab/bin/tasks/ios_platform_view_tests.dart @stuartmorgan @flutter/plugin /dev/devicelab/bin/tasks/large_image_changer_perf_ios.dart @zanderso @flutter/engine /dev/devicelab/bin/tasks/microbenchmarks_ios.dart @vashworth @flutter/engine -/dev/devicelab/bin/tasks/microbenchmarks_ios_xcode_debug.dart @vashworth @flutter/engine /dev/devicelab/bin/tasks/native_assets_android.dart @dacoharkes @flutter/android /dev/devicelab/bin/tasks/native_assets_ios.dart @dacoharkes @flutter/ios /dev/devicelab/bin/tasks/native_platform_view_ui_tests_ios.dart @hellohuanlin @flutter/ios diff --git a/dev/devicelab/bin/tasks/flavors_test_ios_xcode_debug.dart b/dev/devicelab/bin/tasks/flavors_test_ios_xcode_debug.dart deleted file mode 100644 index 88565dfecf..0000000000 --- a/dev/devicelab/bin/tasks/flavors_test_ios_xcode_debug.dart +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter_devicelab/framework/devices.dart'; -import 'package:flutter_devicelab/framework/framework.dart'; -import 'package:flutter_devicelab/framework/task_result.dart'; -import 'package:flutter_devicelab/framework/utils.dart'; -import 'package:flutter_devicelab/tasks/integration_tests.dart'; - -Future main() async { - deviceOperatingSystem = DeviceOperatingSystem.ios; - await task(() async { - await createFlavorsTest(environment: { - 'FORCE_XCODE_DEBUG': 'true', - }).call(); - await createIntegrationTestFlavorsTest(environment: { - 'FORCE_XCODE_DEBUG': 'true', - }).call(); - // test install and uninstall of flavors app - final TaskResult installTestsResult = await inDirectory( - '${flutterDirectory.path}/dev/integration_tests/flavors', - () async { - await flutter( - 'install', - options: ['--flavor', 'paid'], - ); - await flutter( - 'install', - options: ['--flavor', 'paid', '--uninstall-only'], - ); - final StringBuffer stderr = StringBuffer(); - await evalFlutter( - 'install', - canFail: true, - stderr: stderr, - options: ['--flavor', 'bogus'], - ); - - final String stderrString = stderr.toString(); - if (!stderrString.contains('The Xcode project defines schemes: free, paid')) { - print(stderrString); - return TaskResult.failure('Should not succeed with bogus flavor'); - } - - return TaskResult.success(null); - }, - ); - - return installTestsResult; - }); -} diff --git a/dev/devicelab/bin/tasks/flutter_gallery_ios__start_up_xcode_debug.dart b/dev/devicelab/bin/tasks/flutter_gallery_ios__start_up_xcode_debug.dart deleted file mode 100644 index a17c45d2d8..0000000000 --- a/dev/devicelab/bin/tasks/flutter_gallery_ios__start_up_xcode_debug.dart +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter_devicelab/framework/devices.dart'; -import 'package:flutter_devicelab/framework/framework.dart'; -import 'package:flutter_devicelab/tasks/perf_tests.dart'; - -Future main() async { - // TODO(vashworth): Remove after Xcode 15 and iOS 17 are in CI (https://github.com/flutter/flutter/issues/132128) - // XcodeDebug workflow is used for CoreDevices (iOS 17+ and Xcode 15+). Use - // FORCE_XCODE_DEBUG environment variable to force the use of XcodeDebug - // workflow in CI to test from older versions since devicelab has not yet been - // updated to iOS 17 and Xcode 15. - deviceOperatingSystem = DeviceOperatingSystem.ios; - await task(createFlutterGalleryStartupTest( - runEnvironment: { - 'FORCE_XCODE_DEBUG': 'true', - }, - )); -} diff --git a/dev/devicelab/bin/tasks/integration_ui_ios_driver_xcode_debug.dart b/dev/devicelab/bin/tasks/integration_ui_ios_driver_xcode_debug.dart deleted file mode 100644 index f51b231d29..0000000000 --- a/dev/devicelab/bin/tasks/integration_ui_ios_driver_xcode_debug.dart +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter_devicelab/framework/devices.dart'; -import 'package:flutter_devicelab/framework/framework.dart'; -import 'package:flutter_devicelab/tasks/integration_tests.dart'; - -Future main() async { - // TODO(vashworth): Remove after Xcode 15 and iOS 17 are in CI (https://github.com/flutter/flutter/issues/132128) - // XcodeDebug workflow is used for CoreDevices (iOS 17+ and Xcode 15+). Use - // FORCE_XCODE_DEBUG environment variable to force the use of XcodeDebug - // workflow in CI to test from older versions since devicelab has not yet been - // updated to iOS 17 and Xcode 15. - deviceOperatingSystem = DeviceOperatingSystem.ios; - await task(createEndToEndDriverTest( - environment: { - 'FORCE_XCODE_DEBUG': 'true', - }, - )); -} diff --git a/dev/devicelab/bin/tasks/microbenchmarks_ios_xcode_debug.dart b/dev/devicelab/bin/tasks/microbenchmarks_ios_xcode_debug.dart deleted file mode 100644 index 3373a68367..0000000000 --- a/dev/devicelab/bin/tasks/microbenchmarks_ios_xcode_debug.dart +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2014 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'package:flutter_devicelab/framework/devices.dart'; -import 'package:flutter_devicelab/framework/framework.dart'; -import 'package:flutter_devicelab/tasks/microbenchmarks.dart'; - -/// Runs microbenchmarks on iOS. -Future main() async { - // XcodeDebug workflow is used for CoreDevices (iOS 17+ and Xcode 15+). Use - // FORCE_XCODE_DEBUG environment variable to force the use of XcodeDebug - // workflow in CI to test from older versions since devicelab has not yet been - // updated to iOS 17 and Xcode 15. - deviceOperatingSystem = DeviceOperatingSystem.ios; - await task(createMicrobenchmarkTask( - environment: { - 'FORCE_XCODE_DEBUG': 'true', - }, - )); -} diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart index 4ed1025f2e..2663d34f1a 100644 --- a/packages/flutter_tools/lib/src/ios/devices.dart +++ b/packages/flutter_tools/lib/src/ios/devices.dart @@ -483,17 +483,6 @@ class IOSDevice extends Device { throwToolExit('Cannot start app on wirelessly tethered iOS device. Try running again with the --publish-port flag'); } - // TODO(vashworth): Remove after Xcode 15 and iOS 17 are in CI (https://github.com/flutter/flutter/issues/132128) - // XcodeDebug workflow is used for CoreDevices (iOS 17+ and Xcode 15+). - // Force the use of XcodeDebug workflow in CI to test from older versions - // since devicelab has not yet been updated to iOS 17 and Xcode 15. - bool forceXcodeDebugWorkflow = false; - if (debuggingOptions.usingCISystem && - debuggingOptions.debuggingEnabled && - _platform.environment['FORCE_XCODE_DEBUG']?.toLowerCase() == 'true') { - forceXcodeDebugWorkflow = true; - } - if (!prebuiltApplication) { _logger.printTrace('Building ${package.name} for $id'); @@ -551,7 +540,7 @@ class IOSDevice extends Device { ); } - if (isCoreDevice || forceXcodeDebugWorkflow) { + if (isCoreDevice) { installationResult = await _startAppOnCoreDevice( debuggingOptions: debuggingOptions, package: package, @@ -585,7 +574,7 @@ class IOSDevice extends Device { _logger.printTrace('Application launched on the device. Waiting for Dart VM Service url.'); final int defaultTimeout; - if ((isCoreDevice || forceXcodeDebugWorkflow) && debuggingOptions.debuggingEnabled) { + if (isCoreDevice && debuggingOptions.debuggingEnabled) { // Core devices with debugging enabled takes longer because this // includes time to install and launch the app on the device. defaultTimeout = isWirelesslyConnected ? 75 : 60; @@ -620,7 +609,7 @@ class IOSDevice extends Device { }); Uri? localUri; - if (isCoreDevice || forceXcodeDebugWorkflow) { + if (isCoreDevice) { localUri = await _discoverDartVMForCoreDevice( debuggingOptions: debuggingOptions, packageId: packageId, @@ -706,7 +695,7 @@ class IOSDevice extends Device { } finally { startAppStatus.stop(); - if ((isCoreDevice || forceXcodeDebugWorkflow) && debuggingOptions.debuggingEnabled && package is BuildableIOSApp) { + if (isCoreDevice && debuggingOptions.debuggingEnabled && package is BuildableIOSApp) { // When debugging via Xcode, after the app launches, reset the Generated // settings to not include the custom configuration build directory. // This is to prevent confusion if the project is later ran via Xcode @@ -1138,15 +1127,13 @@ class IOSDeviceLogReader extends DeviceLogReader { this._isWirelesslyConnected, this._isCoreDevice, String appName, - bool usingCISystem, { - bool forceXcodeDebug = false, - }) : // Match for lines for the runner in syslog. + bool usingCISystem, + ) : // Match for lines for the runner in syslog. // // iOS 9 format: Runner[297] : // iOS 10 format: Runner(Flutter)[297] : _runnerLineRegex = RegExp(appName + r'(\(Flutter\))?\[[\d]+\] <[A-Za-z]+>: '), - _usingCISystem = usingCISystem, - _forceXcodeDebug = forceXcodeDebug; + _usingCISystem = usingCISystem; /// Create a new [IOSDeviceLogReader]. factory IOSDeviceLogReader.create({ @@ -1165,7 +1152,6 @@ class IOSDeviceLogReader extends DeviceLogReader { device.isCoreDevice, appName, usingCISystem, - forceXcodeDebug: device._platform.environment['FORCE_XCODE_DEBUG']?.toLowerCase() == 'true', ); } @@ -1192,10 +1178,6 @@ class IOSDeviceLogReader extends DeviceLogReader { final IMobileDevice _iMobileDevice; final bool _usingCISystem; - // TODO(vashworth): Remove after Xcode 15 and iOS 17 are in CI (https://github.com/flutter/flutter/issues/132128) - /// Whether XcodeDebug workflow is being forced. - final bool _forceXcodeDebug; - // Matches a syslog line from the runner. RegExp _runnerLineRegex; @@ -1309,7 +1291,7 @@ class IOSDeviceLogReader extends DeviceLogReader { // However, `idevicesyslog` is sometimes unreliable so use Dart VM as a fallback. // Also, `idevicesyslog` does not work with iOS 17 wireless devices, so use the // Dart VM for wireless devices. - if (_isCoreDevice || _forceXcodeDebug) { + if (_isCoreDevice) { if (_isWirelesslyConnected) { return _IOSDeviceLogSources( primarySource: IOSDeviceLogSource.unifiedLogging,