Repository navigation
[record_use] Add experimental flag and test project - #184719
Merged
Merged
Conversation
dcharkes
force-pushed
the
record-use-experiment
branch
from
April 7, 2026 15:47
8ea67a8 to
a755b20
Compare
dcharkes
force-pushed
the
record-use-experiment
branch
from
April 7, 2026 21:22
a755b20 to
87f851b
Compare
dcharkes
force-pushed
the
record-use-experiment
branch
from
April 7, 2026 21:31
87f851b to
94d476f
Compare
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Apr 8, 2026
We resharded the mac build-tests in #184719. That required `bringup: true`, the bots are green for the last 3 commits, move them out of bringup. <img width="362" height="148" alt="image" src="https://github.com/user-attachments/assets/5f9b437c-3d93-42a4-960c-0f584fbd1adf" /> The timeouts seem better this time. The slowest shard runs in 31 minutes.
dcharkes
force-pushed
the
record-use-experiment
branch
from
April 8, 2026 06:57
94d476f to
f2524fb
Compare
dcharkes
force-pushed
the
record-use-experiment
branch
from
April 8, 2026 07:24
f2524fb to
acf67a4
Compare
dcharkes
force-pushed
the
record-use-experiment
branch
from
April 8, 2026 08:11
acf67a4 to
ad4f57c
Compare
dcharkes
marked this pull request as ready for review
April 8, 2026 08:52
dcharkes
force-pushed
the
record-use-experiment
branch
from
April 8, 2026 08:54
ad4f57c to
c070ad0
Compare
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces the 'record use' experiment to the Flutter tool, which includes adding a new feature flag, pinning the record_use package, and creating integration tests with a sample app and package. The changes also involve updating the FeatureFlags class to support the new experiment. Feedback was provided to define the isRecordUseEnabled feature flag as an abstract getter in the base class to maintain consistency with existing flags, rather than providing a default implementation.
dcharkes
force-pushed
the
record-use-experiment
branch
from
April 8, 2026 10:03
c070ad0 to
981f042
Compare
Contributor
|
autosubmit label was removed for flutter/flutter/184719, because - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label. |
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Apr 10, 2026
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Apr 10, 2026
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Apr 10, 2026
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Apr 10, 2026
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Apr 10, 2026
engine-flutter-autoroll
added a commit
to engine-flutter-autoroll/packages
that referenced
this pull request
Apr 10, 2026
auto-submit Bot
pushed a commit
to flutter/packages
that referenced
this pull request
Apr 10, 2026
flutter/flutter@81c87ea...bf18e39 2026-04-10 [email protected] [flutter_tools] Fix arm64e incorrectly matching arm64 in regex check (flutter/flutter#184057) 2026-04-10 [email protected] Specify GitHub Repo in GH CLI calls for revert workflow. (flutter/flutter#184878) 2026-04-10 [email protected] Don't use `git add -N` in the sync engine workflow. (flutter/flutter#184882) 2026-04-10 [email protected] Roll Skia from af67d5555e35 to 25b01e5f4ea0 (14 revisions) (flutter/flutter#184865) 2026-04-10 [email protected] [Dot shorthands] Finish examples/api migration (flutter/flutter#183967) 2026-04-10 [email protected] Roll Dart SDK from 98a143f8873e to e715805ddbd3 (1 revision) (flutter/flutter#184864) 2026-04-10 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Disable async mode with LLDB (#184768)" (flutter/flutter#184868) 2026-04-09 [email protected] Skip freeze check in the merge queue (flutter/flutter#184854) 2026-04-09 [email protected] Remove unused variable in `ProcessTextPlugin.java` (flutter/flutter#184161) 2026-04-09 [email protected] Roll Fuchsia Linux SDK from pDXMXRIjEHTw7B0sk... to lZcRfPoCLnDttrf9P... (flutter/flutter#184842) 2026-04-09 [email protected] Roll Dart SDK from bd6280c3e8e9 to 98a143f8873e (5 revisions) (flutter/flutter#184824) 2026-04-09 [email protected] Remove `linux_android_emu_unstable android_engine_vulkan_tests` (flutter/flutter#184787) 2026-04-09 [email protected] Roll Packages from 0e0a032 to 1aa892c (9 revisions) (flutter/flutter#184829) 2026-04-09 [email protected] [record_use] Add experimental flag and test project (flutter/flutter#184719) 2026-04-09 [email protected] Disable async mode with LLDB (flutter/flutter#184768) 2026-04-09 [email protected] Update link for rolling forward to aligned Dart hash (flutter/flutter#184780) 2026-04-09 [email protected] Roll Skia from 4d0f5389e131 to af67d5555e35 (3 revisions) (flutter/flutter#184825) 2026-04-09 [email protected] UberSDFContent refactoring and handle stroke miter limit for stroked rects (flutter/flutter#184603) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
mbcorona
pushed a commit
to mbcorona/flutter
that referenced
this pull request
Apr 15, 2026
We resharded the mac build-tests in flutter#184719. That required `bringup: true`, the bots are green for the last 3 commits, move them out of bringup. <img width="362" height="148" alt="image" src="https://github.com/user-attachments/assets/5f9b437c-3d93-42a4-960c-0f584fbd1adf" /> The timeouts seem better this time. The slowest shard runs in 31 minutes.
mbcorona
pushed a commit
to mbcorona/flutter
that referenced
this pull request
Apr 15, 2026
flutter#150642 has been closed saying that it's fixed. And also I resharded these bots (flutter#184719 & flutter#184738), which likely means shard 1 now runs different tests than before. FYI @vashworth @gmackall
mbcorona
pushed a commit
to mbcorona/flutter
that referenced
this pull request
Apr 15, 2026
Bug: * dart-lang/native#2690 **Does _not_ add an implementation**, only: - an experimental flag, - an integration test that should pass when the experiment is implemented, - and the record_use package as an explicit dependency. Landing this PR first because it's a ton of files. It will keep the actual implementation PR more reviewable. Note the test projects go through the usual hoops: * `flutter create`. * Add the things we want to test. * Add copyright headers everywhere. * Drop all the icons, and modify all the native build files to not refer to the icons. (Force pushing 10x in the process to get the bots green.) * The build_tests shards build the test projects for all target OSes (catching things such as misconfigured icons etc.) The integration test loosely follows the data assets integration test, but it only runs release mode (so no hot reload and hot restart). The integration test uses data assets (not code assets) so that we can also test the web backends with record-use. This means the integration test relies on also enabling the data assets experimental flag.
creatorpiyush
pushed a commit
to creatorpiyush/packages
that referenced
this pull request
Jun 10, 2026
…r#11488) flutter/flutter@81c87ea...bf18e39 2026-04-10 [email protected] [flutter_tools] Fix arm64e incorrectly matching arm64 in regex check (flutter/flutter#184057) 2026-04-10 [email protected] Specify GitHub Repo in GH CLI calls for revert workflow. (flutter/flutter#184878) 2026-04-10 [email protected] Don't use `git add -N` in the sync engine workflow. (flutter/flutter#184882) 2026-04-10 [email protected] Roll Skia from af67d5555e35 to 25b01e5f4ea0 (14 revisions) (flutter/flutter#184865) 2026-04-10 [email protected] [Dot shorthands] Finish examples/api migration (flutter/flutter#183967) 2026-04-10 [email protected] Roll Dart SDK from 98a143f8873e to e715805ddbd3 (1 revision) (flutter/flutter#184864) 2026-04-10 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Disable async mode with LLDB (#184768)" (flutter/flutter#184868) 2026-04-09 [email protected] Skip freeze check in the merge queue (flutter/flutter#184854) 2026-04-09 [email protected] Remove unused variable in `ProcessTextPlugin.java` (flutter/flutter#184161) 2026-04-09 [email protected] Roll Fuchsia Linux SDK from pDXMXRIjEHTw7B0sk... to lZcRfPoCLnDttrf9P... (flutter/flutter#184842) 2026-04-09 [email protected] Roll Dart SDK from bd6280c3e8e9 to 98a143f8873e (5 revisions) (flutter/flutter#184824) 2026-04-09 [email protected] Remove `linux_android_emu_unstable android_engine_vulkan_tests` (flutter/flutter#184787) 2026-04-09 [email protected] Roll Packages from 0e0a032 to 1aa892c (9 revisions) (flutter/flutter#184829) 2026-04-09 [email protected] [record_use] Add experimental flag and test project (flutter/flutter#184719) 2026-04-09 [email protected] Disable async mode with LLDB (flutter/flutter#184768) 2026-04-09 [email protected] Update link for rolling forward to aligned Dart hash (flutter/flutter#184780) 2026-04-09 [email protected] Roll Skia from 4d0f5389e131 to af67d5555e35 (3 revisions) (flutter/flutter#184825) 2026-04-09 [email protected] UberSDFContent refactoring and handle stroke miter limit for stroked rects (flutter/flutter#184603) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
11 tasks done
pull Bot
pushed a commit
to Mu-L/flutter
that referenced
this pull request
Sep 12, 2026
Fixes flutter#191628 Fixes flutter#187204 Bumps Dart across the repo to 3.13 and reformats the repo The CI formatting check is also re-enabled with this change. #### Deviating pubspec.yaml Packages The following packages deviate from the standard repository Dart SDK constraint (^3.11.0-0 before the bump). Some of these cannot cleanly downgrade. Changing them is considered out of scope. Some of them may also pertain to active work that requires later versions of Dart. 1. ios_universal_link - Full File Path: dev/integration_tests/ios_universal_link/pubspec.yaml - Dart SDK Version: ^3.14.0-53.0.dev - Author: @okorohelijah - Commit: 2a071e2 (2026-09-04) - PR / Message: Add iOS Universal Link integration test (Simulator) (flutter#191443) 2. flutter_analyzer_plugin - Full File Path: dev/flutter_analyzer_plugin/pubspec.yaml - Dart SDK Version: ^3.7.0 - Author: @bkonyi - Commit: ae9963e (2026-08-12) - PR / Message: [analysis] Reland "Added initial implementation of the flutter_analyzer_plugin (flutter#175679)" (flutter#191022) 3. widget_preview_scaffold - Full File Path: dev/integration_tests/widget_preview_scaffold/pubspec.yaml - Dart SDK Version: ^3.12.0 - Author: @polina-c - Commit: 3ca99c3 (2026-05-15) - PR / Message: [ Widget Preview ] Improve zoom behavior and add zoom slider (flutter#186422) 4. hybrid_platform_views - Full File Path: dev/integration_tests/hybrid_android_views/pubspec.yaml - Dart SDK Version: ^3.7.0-0 - Author: @andrewkolos - Commit: 112f170 (2026-03-09) - PR / Message: Reland hybrid views test (flutter#181336) 5. record_use_test_app - Full File Path: dev/integration_tests/record_use_test_app/pubspec.yaml - Dart SDK Version: >=3.5.0-0 <4.0.0 - Author: @dcharkes - Commit: eb6acab (2026-04-09) - PR / Message: [record_use] Add experimental flag and test project (flutter#184719) 6. record_use_test_package - Full File Path: dev/integration_tests/record_use_test_package/pubspec.yaml - Dart SDK Version: >=3.5.0-0 <4.0.0 - Author: @dcharkes - Commit: eb6acab (2026-04-09) - PR / Message: [record_use] Add experimental flag and test project (flutter#184719) 7. data_asset_app - Full File Path: dev/integration_tests/data_asset_app/pubspec.yaml - Dart SDK Version: >=3.5.0-0 <4.0.0 - Author: @dcharkes - Commit: a0924c7 (2026-04-07) - PR / Message: Reland "[data_assets] Cleanup tests" (flutter#184714) 8. data_asset_package - Full File Path: dev/integration_tests/data_asset_package/pubspec.yaml - Dart SDK Version: >=3.5.0-0 <4.0.0 - Author: @dcharkes - Commit: a0924c7 (2026-04-07) - PR / Message: Reland "[data_assets] Cleanup tests" (flutter#184714) ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [AI contribution guidelines] and understand my responsibilities, or I am not using AI tools. - [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 in-code documentation (doc comments with `///`). - [x] If this PR introduces a new feature or capability, I created and linked a website documentation issue or PR in [flutter/website] (or verified none is needed). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [AI contribution guidelines]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [flutter/website]: https://github.com/flutter/website [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
Nakiha
pushed a commit
to Nakiha/VoidPlayer-Flutter
that referenced
this pull request
Sep 28, 2026
We resharded the mac build-tests in flutter/flutter#184719. That required `bringup: true`, the bots are green for the last 3 commits, move them out of bringup. <img width="362" height="148" alt="image" src="https://github.com/user-attachments/assets/5f9b437c-3d93-42a4-960c-0f584fbd1adf" /> The timeouts seem better this time. The slowest shard runs in 31 minutes.
Nakiha
pushed a commit
to Nakiha/VoidPlayer-Flutter
that referenced
this pull request
Sep 28, 2026
flutter/flutter#150642 has been closed saying that it's fixed. And also I resharded these bots (flutter/flutter#184719 & flutter/flutter#184738), which likely means shard 1 now runs different tests than before. FYI @vashworth @gmackall
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug:
Does not add an implementation, only:
Landing this PR first because it's a ton of files. It will keep the actual implementation PR more reviewable.
Note the test projects go through the usual hoops:
flutter create.The integration test loosely follows the data assets integration test, but it only runs release mode (so no hot reload and hot restart).
The integration test uses data assets (not code assets) so that we can also test the web backends with record-use. This means the integration test relies on also enabling the data assets experimental flag.