Commit graph

786 commits

Author SHA1 Message Date
Loïc Sharma 7143284102
[Windows] Add more Arm64 compile and run tests (#135475)
Part of: https://github.com/flutter/flutter/issues/129806

Test runs kicked off using `led`:
* Compile tests
    * ✅ [flutter_gallery_win_desktop__compile](a23b73ca25/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR2Yv8iS9YbTxMZKS2i5zmAz9E8FCNjW6waLq4e8HwtaFtMlapl66UHf73w)
* Start up tests
    * ✅ [windows_startup_test](e615b28993/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR1YtPTpAr6FRq71fy392orp6PO8t9jN8n-mpWvlDF0xRnnOsq3zsAPabWg)
    * ✅ [flutter_gallery_win_desktop__start_up](a0148122f8/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR29O3jW-LyaVAwD54jUmnhfZ2mswqtaZascRoGvteT5gaHihxKI4IastgM)
    * ✅ [flutter_view_win_desktop__start_up](6dac552365/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR2_irHDuoZ0V-PSjYDW082yx8ZeDVhOIk0yjQBAZNVa5iKVIGAWZs8v4lo)
    * ✅ [platform_view_win_desktop__start_up](e6522c77bc/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR2X7KJDGjQUWJtpq7KY-nUFK-LA6LvmrAinzj0QuF8pEbpwfsAz6Kv3OkM)
    * ✅ [complex_layout_win_desktop__start_up](a811334185/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR0gIiXFMnB_MSaqUxVyTpgpJqc37xSKqOzEsf2oD_oU-AhKPqrGQ-ZD7IY)
* `flutter run` console output tests
    * ✅ [run_debug_test_windows](1b275a8b16/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR1IlBr0824cq9UKi46j_11eto6HTEQ9KVXF5Is1ZxcSIO7G6IlN-slsyI8)
    * ✅ [run_release_test_windows](5b259bb5e2/+/build.proto?server=chromium-swarm.appspot.com&fbclid=IwAR3DSHzCGL-KN26E-7hQL58qxV2p0Dtb9hE4AZ0HvEY4hp8mCMzX9jznsFQ)

/cc @pbo-linaro
2023-09-26 19:27:00 +00:00
Zachary Anderson 16ae8c0109
Revert "Marks Linux_pixel_7pro hello_world_impeller to be unflaky" (#135388)
Reverts flutter/flutter#135372
2023-09-25 14:13:30 +00:00
godofredoc 07ce6a76a0
Revert "Marks Linux_samsung_a02 new_gallery__transition_perf to be unflaky" (#135399)
Reverts flutter/flutter#135373
2023-09-25 04:29:39 +00:00
Flutter GitHub Bot 2f56288a4e
Marks Linux_samsung_a02 new_gallery__transition_perf to be unflaky (#135373)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_samsung_a02 new_gallery__transition_perf"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux_samsung_a02%20new_gallery__transition_perf%22).
This test can be marked as unflaky.
2023-09-25 01:49:07 +00:00
Flutter GitHub Bot 797d34e5af
Marks Linux_pixel_7pro hello_world_impeller to be unflaky (#135372)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_pixel_7pro hello_world_impeller"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux_pixel_7pro%20hello_world_impeller%22).
This test can be marked as unflaky.
2023-09-24 16:40:10 +00:00
Flutter GitHub Bot a6e98d3006
Marks Windows_android channels_integration_test_win to be unflaky (#135374)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Windows_android channels_integration_test_win"
}
-->
The issue https://github.com/flutter/flutter/issues/134636 has been closed, and the test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Windows_android%20channels_integration_test_win%22).
This test can be marked as unflaky.
2023-09-24 16:40:07 +00:00
Flutter GitHub Bot 8bc223e3e5
Marks Mac_ios draw_atlas_perf_ios__timeline_summary to be unflaky (#134626)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_ios draw_atlas_perf_ios__timeline_summary"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Mac_ios%20draw_atlas_perf_ios__timeline_summary%22).
This test can be marked as unflaky.
2023-09-24 05:14:20 +00:00
Flutter GitHub Bot 2c1f517d10
Marks Mac_ios draw_vertices_perf_ios__timeline_summary to be unflaky (#134625)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_ios draw_vertices_perf_ios__timeline_summary"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Mac_ios%20draw_vertices_perf_ios__timeline_summary%22).
This test can be marked as unflaky.
2023-09-24 05:06:26 +00:00
Flutter GitHub Bot 417aaf5b2b
Marks Windows module_test to be unflaky (#134121)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Windows module_test"
}
-->
The issue https://github.com/flutter/flutter/issues/133639 has been closed, and the test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Windows%20module_test%22).
This test can be marked as unflaky.
2023-09-24 04:12:53 +00:00
Flutter GitHub Bot c0bde99e0f
Marks Mac_ios dynamic_path_tessellation_perf_ios__timeline_summary to be unflaky (#133128)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_ios dynamic_path_tessellation_perf_ios__timeline_summary"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Mac_ios%20dynamic_path_tessellation_perf_ios__timeline_summary%22).
This test can be marked as unflaky.
2023-09-24 04:11:19 +00:00
Flutter GitHub Bot 6240c899b9
Marks Mac_ios draw_points_perf_ios__timeline_summary to be unflaky (#127933)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_ios draw_points_perf_ios__timeline_summary"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Mac_ios%20draw_points_perf_ios__timeline_summary%22).
This test can be marked as unflaky.
2023-09-24 04:07:20 +00:00
Flutter GitHub Bot 260c16cfb8
Marks Linux_pixel_7pro picture_cache_perf__timeline_summary to be unflaky (#134118)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_pixel_7pro picture_cache_perf__timeline_summary"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux_pixel_7pro%20picture_cache_perf__timeline_summary%22).
This test can be marked as unflaky.
2023-09-24 04:04:54 +00:00
Flutter GitHub Bot 82a972bf1a
Marks Mac_ios very_long_picture_scrolling_perf_ios__e2e_summary to be unflaky (#134629)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_ios very_long_picture_scrolling_perf_ios__e2e_summary"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Mac_ios%20very_long_picture_scrolling_perf_ios__e2e_summary%22).
This test can be marked as unflaky.
2023-09-24 03:52:33 +00:00
Flutter GitHub Bot 389d482aac
Marks Mac_ios animated_advanced_blend_perf_ios__timeline_summary to be unflaky (#132630)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_ios animated_advanced_blend_perf_ios__timeline_summary"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Mac_ios%20animated_advanced_blend_perf_ios__timeline_summary%22).
This test can be marked as unflaky.
2023-09-24 02:49:37 +00:00
Flutter GitHub Bot 3ba8472a15
Marks Mac_ios static_path_tessellation_perf_ios__timeline_summary to be unflaky (#133127)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Mac_ios static_path_tessellation_perf_ios__timeline_summary"
}
-->
The test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Mac_ios%20static_path_tessellation_perf_ios__timeline_summary%22).
This test can be marked as unflaky.
2023-09-24 02:49:35 +00:00
Flutter GitHub Bot 4f5c815559
Marks Linux_android platform_channels_benchmarks to be flaky (#135106)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_android platform_channels_benchmarks"
}
-->
Issue link: https://github.com/flutter/flutter/issues/135105
2023-09-23 23:07:08 +00:00
Flutter GitHub Bot 6d4a5e3d31
Marks Linux_android flutter_gallery__start_up_delayed to be flaky (#134632)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_android flutter_gallery__start_up_delayed"
}
-->
Issue link: https://github.com/flutter/flutter/issues/134631
2023-09-23 23:07:06 +00:00
Flutter GitHub Bot 6d88ade70a
Marks Linux_android opacity_peephole_grid_of_alpha_savelayers_perf__e2e_summary to be flaky (#135119)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_android opacity_peephole_grid_of_alpha_savelayers_perf__e2e_summary"
}
-->
Issue link: https://github.com/flutter/flutter/issues/135118
2023-09-23 23:03:13 +00:00
Zachary Anderson 70fd335041
Move some tests from staging to prod (#135333)
This PR moves tests running on Pixel 7 Pro that use Skia from staging to prod.
2023-09-23 00:32:16 +00:00
Ricardo Amador 76a938bfa6
Reenable 'Linux packages_autoroller' in prod with kms key update (#135316)
The Github token was recreated and uploaded to GCS. I have verified a passing run with the new key here: 
bc5d1e6662/+/build.proto

And the bot is now generating pull requests: https://github.com/flutter/flutter/pull/135315

*List which issues are fixed by this PR. You must list at least one issue.*
Fixes https://github.com/flutter/flutter/issues/131968

*If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].*
2023-09-22 18:23:14 +00:00
Daco Harkes 2def951924
Reland "Native assets support for Linux" (#135097)
Reland of #134031. (Reverted in #135069.) Contains the fix for b/301051367 together with cl/567233346.

Support for FFI calls with `@Native external` functions through Native assets on Linux. This enables bundling native code without any build-system boilerplate code.

For more info see:

* https://github.com/flutter/flutter/issues/129757

### Implementation details for Linux.

Mainly follows the design of https://github.com/flutter/flutter/pull/130494.

Some differences are:

* Linux does not support cross compiling or compiling for multiple architectures, so this has not been implemented.
* Linux has no add2app.

The assets copying is done in the install-phase of the CMake build of a flutter app.
CMake requires the native assets folder to exist, so we create it also when the feature is disabled or there are no assets.

### Tests

This PR adds new tests to cover the various use cases.

* packages/flutter_tools/test/general.shard/linux/native_assets_test.dart
  * Unit tests the Linux-specific part of building native assets.

It also extends various existing tests:

* packages/flutter_tools/test/integration.shard/native_assets_test.dart
  * Runs (incl hot reload/hot restart), builds, builds frameworks for Linux and flutter-tester.
2023-09-22 06:07:06 +00:00
Gray Mackall b433b17539
Upgrade AGP version in tracing_tests (#134671)
Related to https://github.com/flutter/flutter/issues/134419
2023-09-20 20:56:25 +00:00
Xilai Zhang 52ef9d8827
[flutter roll] Revert "Native assets support for Linux" (#135069)
Reverts flutter/flutter#134031

context: b/301051367
Looked at the error message from the broken TAP target, but seems like the failure might be non trivial to resolve. Would it be okay if we revert this for now while it is being triaged?
2023-09-20 00:06:45 +00:00
Zachary Anderson 5c6b031c10
Retry Linux web tests 1 time on roll presubmit (#135073)
Reland of https://github.com/flutter/flutter/pull/134552
2023-09-19 23:17:25 +00:00
Jackson Gardner d3c60569d1
Update CI to Chrome 117. (#134761) 2023-09-19 16:26:16 +00:00
Daco Harkes f246dc7ae0
Bring native_assets ios tests out of staging (#135015)
Move test added in https://github.com/flutter/flutter/pull/130494 out of staging.

* https://ci.chromium.org/ui/p/flutter/builders/luci.flutter.staging/Mac_ios%20native_assets_ios
* https://ci.chromium.org/ui/p/flutter/builders/luci.flutter.staging/Mac_ios%20native_assets_ios_simulator

> Monitor the CI results of the new shard on the [Flutter build dashboard](https://flutter-dashboard.appspot.com/#/build). After 50 consecutive passing builds without any flakes, the flake bot will create a PR to remove the bringup: true parameter from .ci.yaml in the Framework tree. This will allow the test to block the tree, preventing breakages. With this change, the new shard will start running in presubmit automatically, unless specify presubmit: false.

https://github.com/flutter/flutter/wiki/Adding-a-new-Test-Shard#steps-to-add-a-new-framework-test-shard

Umbrella issue:

* https://github.com/flutter/flutter/issues/129757
2023-09-19 15:48:26 +00:00
Daco Harkes 2337c64d0c
Native assets support for Linux (#134031)
Support for FFI calls with `@Native external` functions through Native assets on Linux. This enables bundling native code without any build-system boilerplate code.

For more info see:

* https://github.com/flutter/flutter/issues/129757

### Implementation details for Linux.

Mainly follows the design of https://github.com/flutter/flutter/pull/130494.

Some differences are:

* Linux does not support cross compiling or compiling for multiple architectures, so this has not been implemented.
* Linux has no add2app.

The assets copying is done in the install-phase of the CMake build of a flutter app.
CMake requires the native assets folder to exist, so we create it also when the feature is disabled or there are no assets.

### Tests

This PR adds new tests to cover the various use cases.

* packages/flutter_tools/test/general.shard/linux/native_assets_test.dart
  * Unit tests the Linux-specific part of building native assets.

It also extends various existing tests:

* packages/flutter_tools/test/integration.shard/native_assets_test.dart
  * Runs (incl hot reload/hot restart), builds, builds frameworks for Linux and flutter-tester.
2023-09-18 11:13:37 +00:00
gaaclarke 43260cced9
moved hello_world_impeller to a 7pro (#134830)
arm64 is necessary for this test

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-09-15 12:28:16 -07:00
Zachary Anderson 1e4a1be681
Move two tests on Pixel 7 from staging to prod (#134784)
Related https://github.com/flutter/flutter/issues/134698
2023-09-14 19:10:37 -07:00
Victoria Ashworth eb4b97d63c
Set xcode version to older compatible version for microbenchmarks_ios_xcode_debug test (#134693)
Test added in https://github.com/flutter/flutter/pull/134493 requires an
older version of Xcode because default version of Xcode is not
compatible with macOS version in CI.

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-09-14 13:56:00 -05:00
gaaclarke 57ad4ff018
Added a devicelab test for vulkan validation layers (#134685)
This makes sure validation layers are being used and that there are no
validation errors

fixes https://github.com/flutter/flutter/issues/134175

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-09-14 09:13:35 -07:00
Victoria Ashworth af5ac930d8
Set the CONFIGURATION_BUILD_DIR in generated xcconfig when debugging core device (#134493)
Xcode uses the CONFIGURATION_BUILD_DIR build setting to determine the location of the bundle to build and install. When launching an app via Xcode with the Xcode debug workflow (for iOS 17 physical devices), temporarily set the CONFIGURATION_BUILD_DIR to the location of the bundle so Xcode can find it.

Also, added a Xcode Debug version of the `microbenchmarks_ios` integration test since it uses `flutter run --profile` without using `--use-application-binary`.

Fixes https://github.com/flutter/flutter/issues/134186.
2023-09-13 18:08:35 +00:00
Flutter GitHub Bot f38dcb1229
Marks Windows module_custom_host_app_name_test to be flaky (#134645)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Windows module_custom_host_app_name_test"
}
-->
Issue link: https://github.com/flutter/flutter/issues/134644
2023-09-13 09:36:18 -07:00
Flutter GitHub Bot 639c092b5d
Marks Windows_android channels_integration_test_win to be flaky (#134637)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Windows_android channels_integration_test_win"
}
-->
Issue link: https://github.com/flutter/flutter/issues/134636
2023-09-13 09:35:22 -07:00
keyonghan 3e1e869a54
Revert "Retry Linux web tests 1 time on roll presubmit" (#134586)
Reverts flutter/flutter#134552
2023-09-12 22:20:39 +00:00
Zachary Anderson 64c1223b9c
Retry Linux web tests 1 time on roll presubmit (#134552)
A flake in this shard caused an engine roll to fail here https://github.com/flutter/flutter/pull/134526
2023-09-12 18:29:02 +00:00
Flutter GitHub Bot bdd96032a0
Marks Windows_android channels_integration_test_win to be unflaky (#133129)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Windows_android channels_integration_test_win"
}
-->
The issue https://github.com/flutter/flutter/issues/130732 has been closed, and the test has been passing for [50 consecutive runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Windows_android%20channels_integration_test_win%22).
This test can be marked as unflaky.
2023-09-12 15:37:30 +00:00
Daco Harkes aa36db1d29
Native assets support for MacOS and iOS (#130494)
Support for FFI calls with `@Native external` functions through Native assets on MacOS and iOS. This enables bundling native code without any build-system boilerplate code.

For more info see:

* https://github.com/flutter/flutter/issues/129757

### Implementation details for MacOS and iOS.

Dylibs are bundled by (1) making them fat binaries if multiple architectures are targeted, (2) code signing these, and (3) copying them to the frameworks folder. These steps are done manual rather than via CocoaPods. CocoaPods would have done the same steps, but (a) needs the dylibs to be there before the `xcodebuild` invocation (we could trick it, by having a minimal dylib in the place and replace it during the build process, that works), and (b) can't deal with having no dylibs to be bundled (we'd have to bundle a dummy dylib or include some dummy C code in the build file).

The dylibs are build as a new target inside flutter assemble, as that is the moment we know what build-mode and architecture to target.

The mapping from asset id to dylib-path is passed in to every kernel compilation path. The interesting case is hot-restart where the initial kernel file is compiled by the "inner" flutter assemble, while after hot restart the "outer" flutter run compiled kernel file is pushed to the device. Both kernel files need to contain the mapping. The "inner" flutter assemble gets its mapping from the NativeAssets target which builds the native assets. The "outer" flutter run get its mapping from a dry-run invocation. Since this hot restart can be used for multiple target devices (`flutter run -d all`) it contains the mapping for all known targets.

### Example vs template

The PR includes a new template that uses the new native assets in a package and has an app importing that. Separate discussion in: https://github.com/flutter/flutter/issues/131209.

### Tests

This PR adds new tests to cover the various use cases.

* dev/devicelab/bin/tasks/native_assets_ios.dart
  * Runs an example app with native assets in all build modes, doing hot reload and hot restart in debug mode.
* dev/devicelab/bin/tasks/native_assets_ios_simulator.dart
  * Runs an example app with native assets, doing hot reload and hot restart.
* packages/flutter_tools/test/integration.shard/native_assets_test.dart
  * Runs (incl hot reload/hot restart), builds, builds frameworks for iOS, MacOS and flutter-tester.
* packages/flutter_tools/test/general.shard/build_system/targets/native_assets_test.dart
  * Unit tests the new Target in the backend.
* packages/flutter_tools/test/general.shard/ios/native_assets_test.dart
* packages/flutter_tools/test/general.shard/macos/native_assets_test.dart
  * Unit tests the native assets being packaged on a iOS/MacOS build.

It also extends various existing tests:

* dev/devicelab/bin/tasks/module_test_ios.dart
   * Exercises the add2app scenario.
* packages/flutter_tools/test/general.shard/features_test.dart
   * Unit test the new feature flag.
2023-09-10 08:07:13 +00:00
Flutter GitHub Bot da676f79aa
Marks Linux_android very_long_picture_scrolling_perf__e2e_summary to be unflaky (#134116)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Linux_android very_long_picture_scrolling_perf__e2e_summary"
}
-->
The test has been passing for [50 consecutive
runs](https://data.corp.google.com/sites/flutter_infra_metrics_datasite/flutter_check_test_flakiness_status_dashboard/?p=BUILDER_NAME:%22Linux_android%20very_long_picture_scrolling_perf__e2e_summary%22).
This test can be marked as unflaky.
2023-09-08 10:08:21 -07:00
Gray Mackall 827b5dff02
[integration_test] Allow capture of screenshots for FlutterFragmentActivitys (#132406)
Fixes https://github.com/flutter/flutter/issues/89683.

The changes to `getFlutterView` in `FlutterDeviceScreenshot` are the fix that was required, everything else was done to get tests running (such as re-generating some lockfiles and modifying the android manifest).

The code was all currently not unit tested, and there were no other easy examples to base these java unit tests off in flutter/flutter, so let me know if this approach to testing is wrong.
2023-09-07 22:32:48 +00:00
Loïc Sharma 2032fcc571
[Windows Arm64] Remove device_type property (#134181)
The Windows Arm64 tests are failing to start as no machines match
desired properties. This removes the `device_type: none` property as no
Windows Arm64 machines match this ([with
`device_type`](https://chromium-swarm.appspot.com/botlist?c=id&c=task&c=os&c=status&d=asc&f=cpu%3Aarm64&f=os%3AWindows&f=pool%3Aluci.flutter.staging&f=device_type%3Anone&s=id),
[without
`device_type`](https://chromium-swarm.appspot.com/botlist?c=id&c=task&c=os&c=status&d=asc&f=cpu%3Aarm64&f=os%3AWindows&f=pool%3Aluci.flutter.staging&s=id)).

This allows the tests to run on the Windows Arm64 machine pool. [I
tested this manually using
`led`](d96efacb0c/+/build.proto?server=chromium-swarm.appspot.com).

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [ ] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-09-07 13:25:36 -07:00
Loïc Sharma d792c664a2
[Windows Arm64] Also use Windows 11 for Devicelab tests (#134082)
Currently, the Windows Arm64 tests try to run on Windows 10 devices.
However, [all Windows Arm64 devices use Windows
11](https://chromium-swarm.appspot.com/botlist?c=id&c=task&c=os&c=status&d=asc&f=cpu%3Aarm64&f=os%3AWindows-11&f=pool%3Aluci.flutter.staging&s=id)
which result in the Windows Arm64 tests not running. This updates the
configuration to accept both Windows 10 and 11 (ideally the tests would
run on both OSes).

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [x] I signed the [CLA].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2023-09-06 11:59:20 -07:00
Loïc Sharma df8ee8d63a
[Windows Arm64] Add first device lab test (#133895)
Adds the first Windows Arm64 devicelab test. The builder for this test won't be created until after this lands on master, so we can't actually test this until this is merged.
2023-09-01 23:55:36 +00:00
Gray Mackall 033274c66a
Change android_virtual_device to version 34 (#133809)
Change from AVD 33 to [AVD 34](https://chrome-infra-packages.appspot.com/p/chromium/tools/android/avd/linux-amd64) in CI. Only affects two tests.

We should also update the firebase virtual and physical devices when 34 is available there (for example [here](e98d3929ca/.ci.yaml (L441))), as that will allow us to update a lot more tests.
2023-09-01 16:48:20 +00:00
Victoria Ashworth 37c55bab2c
Run Mac_arm64_ios run_debug_test_macos in presubmit (#133869)
Reland https://github.com/flutter/flutter/pull/133788.

Fixes https://github.com/flutter/flutter/issues/118830.
Fixes https://github.com/flutter/flutter/issues/125342.
2023-09-01 16:20:46 +00:00
Victoria Ashworth e98d3929ca
Revert "Run Mac_arm64_ios run_debug_test_macos in presubmit" (#133808)
Reverts flutter/flutter#133788

Something is wrong with bot https://chromium-swarm.appspot.com/bot?id=flutter-devicelab-mac-38, it's unable to open the project in Xcode. Failing consistently. 

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8771213845302282993/+/u/ios_debug_symbol_doctor/recover_with_120_second_timeout/stdout

So reverting until we can get the bot fixed.
2023-08-31 21:34:48 +00:00
Victoria Ashworth 8128b2e2f6
Run Mac_arm64_ios run_debug_test_macos in presubmit (#133788)
Fixes https://github.com/flutter/flutter/issues/118830.
2023-08-31 19:41:07 +00:00
Jim Graham b51859ec33
Add benchmark for scrolling very long pictures (#133434)
This benchmark will track the performance of the RTree implementation to cull very large pictures down to just the portion visible on the screen.
2023-08-31 19:03:14 +00:00
Flutter GitHub Bot 7368da037a
Marks Windows module_test to be flaky (#133640)
<!-- meta-tags: To be used by the automation script only, DO NOT MODIFY.
{
  "name": "Windows module_test"
}
-->
Issue link: https://github.com/flutter/flutter/issues/133639
2023-08-30 08:00:14 -07:00
Zachary Anderson d8470f713c
Don't run on Samsung S10, shift to Pixel 7 Pro (#133085) 2023-08-22 19:18:00 -07:00