diff --git a/.ci.yaml b/.ci.yaml index 714e25471f34..b8225c1d0a86 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -73,7 +73,7 @@ platform_properties: device_type: none dependencies: >- [ - {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"} + {"dependency": "chrome_and_driver", "version": "version:145.0.7632.117"} ] windows_arm64: properties: @@ -209,6 +209,15 @@ targets: version_file: flutter_master.version package_sharding: "--shardIndex 2 --shardCount 3" + - name: Linux_web web_dart_unit_test_material_ui master + recipe: packages/packages + bringup: true + timeout: 90 + properties: + target_file: web_dart_unit_tests_material_ui.yaml + channel: master + version_file: flutter_master.version + - name: Linux_web web_dart_unit_test_shard_1 stable recipe: packages/packages timeout: 60 @@ -236,6 +245,15 @@ targets: version_file: flutter_stable.version package_sharding: "--shardIndex 2 --shardCount 3" + - name: Linux_web web_dart_unit_test_material_ui stable + recipe: packages/packages + bringup: true + timeout: 90 + properties: + target_file: web_dart_unit_tests_material_ui.yaml + channel: stable + version_file: flutter_stable.version + # Wasm unit tests in master # TODO(stuartmorgan): Switch to testing wasm on master and stable and non-wasm # only on master if/when wasm builds become the default on stable; see @@ -259,6 +277,16 @@ targets: version_file: flutter_master.version package_sharding: "--shardIndex 1 --shardCount 2" + - name: Linux_web web_dart_unit_test_material_ui_wasm master + recipe: packages/packages + bringup: true + timeout: 90 + properties: + target_file: web_dart_unit_tests_material_ui_wasm.yaml + channel: master + version_file: flutter_master.version + + - name: Linux analyze master recipe: packages/packages timeout: 30 @@ -321,7 +349,7 @@ targets: {"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"}, {"dependency": "cmake", "version": "build_id:8787856497187628321"}, {"dependency": "ninja", "version": "version:1.9.0"}, - {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"} + {"dependency": "chrome_and_driver", "version": "version:145.0.7632.117"} ] channel: master @@ -340,7 +368,7 @@ targets: {"dependency": "clang", "version": "git_revision:5d5aba78dbbee75508f01bcaa69aedb2ab79065a"}, {"dependency": "cmake", "version": "build_id:8787856497187628321"}, {"dependency": "ninja", "version": "version:1.9.0"}, - {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"} + {"dependency": "chrome_and_driver", "version": "version:145.0.7632.117"} ] channel: stable @@ -685,6 +713,15 @@ targets: channel: master package_sharding: "--shardIndex 2 --shardCount 3" + - name: Linux_web web_platform_tests_material_ui master + recipe: packages/packages + bringup: true + timeout: 90 + properties: + target_file: web_platform_tests_material_ui.yaml + version_file: flutter_master.version + channel: master + # Wasm integration tests in master - name: Linux_web web_platform_tests_wasm_shard_1 master recipe: packages/packages @@ -713,6 +750,15 @@ targets: channel: master package_sharding: "--shardIndex 2 --shardCount 3" + - name: Linux_web web_platform_tests_material_ui_wasm master + recipe: packages/packages + bringup: true + timeout: 90 + properties: + target_file: web_platform_tests_material_ui_wasm.yaml + version_file: flutter_master.version + channel: master + # JS integration tests in stable - name: Linux_web web_platform_tests_shard_1 stable recipe: packages/packages @@ -741,6 +787,16 @@ targets: channel: stable package_sharding: "--shardIndex 2 --shardCount 3" + - name: Linux_web web_platform_tests_material_ui stable + recipe: packages/packages + bringup: true + timeout: 90 + properties: + target_file: web_platform_tests_material_ui.yaml + version_file: flutter_stable.version + channel: stable + + ### Linux desktop tasks - name: Linux_desktop build_all_packages master recipe: packages/packages @@ -769,7 +825,7 @@ targets: # Install Chrome as a default handler for schemes for url_launcher. dependencies: >- [ - {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"} + {"dependency": "chrome_and_driver", "version": "version:145.0.7632.117"} ] - name: Linux_desktop platform_tests stable @@ -783,7 +839,7 @@ targets: # Install Chrome as a default handler for schemes for url_launcher. dependencies: >- [ - {"dependency": "chrome_and_driver", "version": "version:125.0.6422.141"} + {"dependency": "chrome_and_driver", "version": "version:145.0.7632.117"} ] ### iOS+macOS tasks ### diff --git a/.ci/targets/web_dart_unit_tests.yaml b/.ci/targets/web_dart_unit_tests.yaml index 16cdf1771bb0..60b841331196 100644 --- a/.ci/targets/web_dart_unit_tests.yaml +++ b/.ci/targets/web_dart_unit_tests.yaml @@ -7,5 +7,6 @@ tasks: args: [ "dart-test", "--platform=chrome", - "--exclude=script/configs/dart_unit_tests_exceptions.yaml" + "--exclude=script/configs/dart_unit_tests_exceptions.yaml", + "--exclude=script/configs/exclude_web_unit_tests.yaml" ] diff --git a/.ci/targets/web_dart_unit_tests_material_ui.yaml b/.ci/targets/web_dart_unit_tests_material_ui.yaml new file mode 100644 index 000000000000..b1d505b03a6d --- /dev/null +++ b/.ci/targets/web_dart_unit_tests_material_ui.yaml @@ -0,0 +1,11 @@ +tasks: + - name: prepare tool + script: .ci/scripts/prepare_tool.sh + infra_step: true # Note infra steps failing prevents "always" from running. + - name: Dart unit tests - web (material_ui) + script: .ci/scripts/tool_runner.sh + args: [ + "dart-test", + "--platform=chrome", + "--packages=material_ui" + ] diff --git a/.ci/targets/web_dart_unit_tests_material_ui_wasm.yaml b/.ci/targets/web_dart_unit_tests_material_ui_wasm.yaml new file mode 100644 index 000000000000..7e5b17fca93e --- /dev/null +++ b/.ci/targets/web_dart_unit_tests_material_ui_wasm.yaml @@ -0,0 +1,12 @@ +tasks: + - name: prepare tool + script: .ci/scripts/prepare_tool.sh + infra_step: true # Note infra steps failing prevents "always" from running. + - name: Dart unit tests - web wasm (material_ui) + script: .ci/scripts/tool_runner.sh + args: [ + "dart-test", + "--platform=chrome", + "--wasm", + "--packages=material_ui" + ] diff --git a/.ci/targets/web_dart_unit_tests_wasm.yaml b/.ci/targets/web_dart_unit_tests_wasm.yaml index a5a6eeeddf0d..67cb833b91aa 100644 --- a/.ci/targets/web_dart_unit_tests_wasm.yaml +++ b/.ci/targets/web_dart_unit_tests_wasm.yaml @@ -9,5 +9,6 @@ tasks: "--platform=chrome", "--wasm", "--exclude=script/configs/dart_unit_tests_exceptions.yaml", - "--exclude=script/configs/dart_unit_tests_wasm_exceptions.yaml" + "--exclude=script/configs/dart_unit_tests_wasm_exceptions.yaml", + "--exclude=script/configs/exclude_web_unit_tests.yaml" ] diff --git a/.ci/targets/web_platform_tests_material_ui.yaml b/.ci/targets/web_platform_tests_material_ui.yaml new file mode 100644 index 000000000000..ca203a755bca --- /dev/null +++ b/.ci/targets/web_platform_tests_material_ui.yaml @@ -0,0 +1,16 @@ +tasks: + - name: prepare tool + script: .ci/scripts/prepare_tool.sh + infra_step: true # Note infra steps failing prevents "always" from running. + - name: download Dart deps + script: .ci/scripts/tool_runner.sh + args: ["fetch-deps", "--web", "--supporting-target-platforms-only"] + infra_step: true + - name: drive examples + script: .ci/scripts/tool_runner.sh + args: [ + "drive-examples", + "--web", + "--run-chromedriver", + "--packages=material_ui", + ] diff --git a/.ci/targets/web_platform_tests_material_ui_wasm.yaml b/.ci/targets/web_platform_tests_material_ui_wasm.yaml new file mode 100644 index 000000000000..2a26e7c87517 --- /dev/null +++ b/.ci/targets/web_platform_tests_material_ui_wasm.yaml @@ -0,0 +1,17 @@ +tasks: + - name: prepare tool + script: .ci/scripts/prepare_tool.sh + infra_step: true # Note infra steps failing prevents "always" from running. + - name: download Dart deps + script: .ci/scripts/tool_runner.sh + args: ["fetch-deps", "--web", "--supporting-target-platforms-only"] + infra_step: true + - name: drive examples + script: .ci/scripts/tool_runner.sh + args: [ + "drive-examples", + "--web", + "--wasm", + "--run-chromedriver", + "--packages=material_ui", + ] diff --git a/packages/video_player/video_player/example/integration_test/video_player_test.dart b/packages/video_player/video_player/example/integration_test/video_player_test.dart index b3b99c72728c..ca20b053441e 100644 --- a/packages/video_player/video_player/example/integration_test/video_player_test.dart +++ b/packages/video_player/video_player/example/integration_test/video_player_test.dart @@ -306,7 +306,7 @@ void main() { // Due to the duration calculation accuracy between platforms, // the milliseconds on Web will be a slightly different from natives. // The audio was made with 44100 Hz, 192 Kbps CBR, and 32 bits. - expect(controller.value.duration, const Duration(seconds: 5, milliseconds: kIsWeb ? 42 : 41)); + expect(controller.value.duration.inMilliseconds, closeTo(5000, 50)); }); testWidgets('can be played', (WidgetTester tester) async { diff --git a/packages/video_player/video_player/example/ios/Flutter/Debug.xcconfig b/packages/video_player/video_player/example/ios/Flutter/Debug.xcconfig index 592ceee85b89..ec97fc6f3021 100644 --- a/packages/video_player/video_player/example/ios/Flutter/Debug.xcconfig +++ b/packages/video_player/video_player/example/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/packages/video_player/video_player/example/ios/Flutter/Release.xcconfig b/packages/video_player/video_player/example/ios/Flutter/Release.xcconfig index 592ceee85b89..c4855bfe2000 100644 --- a/packages/video_player/video_player/example/ios/Flutter/Release.xcconfig +++ b/packages/video_player/video_player/example/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/packages/video_player/video_player/example/ios/Podfile b/packages/video_player/video_player/example/ios/Podfile new file mode 100644 index 000000000000..17adeb14132e --- /dev/null +++ b/packages/video_player/video_player/example/ios/Podfile @@ -0,0 +1,40 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '13.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/packages/video_player/video_player/example/macos/Flutter/Flutter-Debug.xcconfig b/packages/video_player/video_player/example/macos/Flutter/Flutter-Debug.xcconfig index c2efd0b608ba..4b81f9b2d200 100644 --- a/packages/video_player/video_player/example/macos/Flutter/Flutter-Debug.xcconfig +++ b/packages/video_player/video_player/example/macos/Flutter/Flutter-Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/video_player/video_player/example/macos/Flutter/Flutter-Release.xcconfig b/packages/video_player/video_player/example/macos/Flutter/Flutter-Release.xcconfig index c2efd0b608ba..5caa9d1579e4 100644 --- a/packages/video_player/video_player/example/macos/Flutter/Flutter-Release.xcconfig +++ b/packages/video_player/video_player/example/macos/Flutter/Flutter-Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/video_player/video_player/example/macos/Podfile b/packages/video_player/video_player/example/macos/Podfile new file mode 100644 index 000000000000..66f6172bbb39 --- /dev/null +++ b/packages/video_player/video_player/example/macos/Podfile @@ -0,0 +1,39 @@ +platform :osx, '10.15' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/packages/video_player/video_player_avfoundation/example/ios/Flutter/Debug.xcconfig b/packages/video_player/video_player_avfoundation/example/ios/Flutter/Debug.xcconfig index 592ceee85b89..ec97fc6f3021 100644 --- a/packages/video_player/video_player_avfoundation/example/ios/Flutter/Debug.xcconfig +++ b/packages/video_player/video_player_avfoundation/example/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/packages/video_player/video_player_avfoundation/example/ios/Flutter/Release.xcconfig b/packages/video_player/video_player_avfoundation/example/ios/Flutter/Release.xcconfig index 592ceee85b89..c4855bfe2000 100644 --- a/packages/video_player/video_player_avfoundation/example/ios/Flutter/Release.xcconfig +++ b/packages/video_player/video_player_avfoundation/example/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/packages/video_player/video_player_avfoundation/example/ios/Podfile b/packages/video_player/video_player_avfoundation/example/ios/Podfile new file mode 100644 index 000000000000..620e46eba607 --- /dev/null +++ b/packages/video_player/video_player_avfoundation/example/ios/Podfile @@ -0,0 +1,43 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '13.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/packages/video_player/video_player_avfoundation/example/macos/Flutter/Flutter-Debug.xcconfig b/packages/video_player/video_player_avfoundation/example/macos/Flutter/Flutter-Debug.xcconfig index c2efd0b608ba..4b81f9b2d200 100644 --- a/packages/video_player/video_player_avfoundation/example/macos/Flutter/Flutter-Debug.xcconfig +++ b/packages/video_player/video_player_avfoundation/example/macos/Flutter/Flutter-Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/video_player/video_player_avfoundation/example/macos/Flutter/Flutter-Release.xcconfig b/packages/video_player/video_player_avfoundation/example/macos/Flutter/Flutter-Release.xcconfig index c2efd0b608ba..5caa9d1579e4 100644 --- a/packages/video_player/video_player_avfoundation/example/macos/Flutter/Flutter-Release.xcconfig +++ b/packages/video_player/video_player_avfoundation/example/macos/Flutter/Flutter-Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/packages/video_player/video_player_avfoundation/example/macos/Podfile b/packages/video_player/video_player_avfoundation/example/macos/Podfile new file mode 100644 index 000000000000..ff5ddb3b8bdc --- /dev/null +++ b/packages/video_player/video_player_avfoundation/example/macos/Podfile @@ -0,0 +1,42 @@ +platform :osx, '10.15' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/script/configs/exclude_integration_web.yaml b/script/configs/exclude_integration_web.yaml index 8dbdd61b8d43..cafa68aa54db 100644 --- a/script/configs/exclude_integration_web.yaml +++ b/script/configs/exclude_integration_web.yaml @@ -2,3 +2,6 @@ - file_selector # Waiting on https://github.com/flutter/flutter/issues/145149 - google_maps_flutter/google_maps_flutter +# Moved to its own dedicated shard due to long test duration +- material_ui + diff --git a/script/configs/exclude_web_unit_tests.yaml b/script/configs/exclude_web_unit_tests.yaml new file mode 100644 index 000000000000..a1e54f8e0512 --- /dev/null +++ b/script/configs/exclude_web_unit_tests.yaml @@ -0,0 +1,2 @@ +# Moved to its own dedicated shard due to long test duration +- material_ui