Skip to content

Conversation

@matanlurey
Copy link
Contributor

@matanlurey matanlurey commented Jan 23, 2025

Towards #162201.

NOTE: This renames the environment variable to FLUTTER_PREBUILT_ENGINE_VERSION.


We occasionally break ourselves, our users, and the Dart up (or is it down? side-ways) stream repos (i.e. HHH) when we change how the undocumented update_engine_version.sh script, and it's Windows counterpart update_engine_version.ps1 work, but have no way of knowing until N days/weeks later when someone tells us.

For example, https://flutter-review.googlesource.com/c/recipes/+/62400.

This is my attempt to encode "this is what you can guarantee by calling this script".

It still will be an internal only API that we might rev at any time, but at least we:

  1. Can tell the Dart team "this is tested and how it works"
  2. If we want to change it, the tests will keep us from changing it without informing folks it changed

These tests should (in theory) cover both Linux/MacOS and Windows.

/cc @a-siva

@matanlurey matanlurey requested review from aam and jtmcdole January 23, 2025 22:52
});

tearDown(() {
// tmpDir.deleteSync(recursive: true);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean to leave it commented out?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I did not. Thank you!

#
# This is for systems, such as Github Actions, where we know ahead of time the
# base-ref we want to use (to download the engine binaries and avoid trying
# to compute one below), or for the Dart HHH bot, which wants to try the current
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HH bot (only two heads are remaining)

Copy link
Member

@aam aam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good.
Note that from Dart-Flutter hh infra perspective, flutter recipe doesn't use update_engine_version script directly, instead it simply calls flutter update-packages and expects artifacts for particular engine hash downloaded(based on contents of engine.version or flutter_engine_version env variable). So if we are extra demanding that's the api surface that is worth covering.

@jtmcdole
Copy link
Member

Note that from Dart-Flutter hh infra perspective, flutter recipe doesn't use update_engine_version

You might not be doing it directly, but we're doing it for you when you call the flutter tool.

Copy link
Member

@jtmcdole jtmcdole left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Jan 24, 2025
@matanlurey matanlurey added autosubmit Merge PR when tree becomes green via auto submit App and removed tool Affects the "flutter" command-line tool. See also t: labels. labels Jan 24, 2025
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jan 24, 2025
@auto-submit
Copy link
Contributor

auto-submit bot commented Jan 24, 2025

autosubmit label was removed for flutter/flutter/162118, because - The status or check suite Linux linux_web_engine_tests has failed. Please fix the issues identified (or deflake) before re-applying this label.

@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Jan 24, 2025
@matanlurey matanlurey force-pushed the update_engine_version branch from 6553ff0 to e4cb027 Compare January 24, 2025 18:12
@matanlurey matanlurey added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 24, 2025
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jan 24, 2025
@auto-submit
Copy link
Contributor

auto-submit bot commented Jan 24, 2025

autosubmit label was removed for flutter/flutter/162118, because - The status or check suite Mac mac_ios_engine has failed. Please fix the issues identified (or deflake) before re-applying this label.

@matanlurey matanlurey enabled auto-merge January 24, 2025 23:19
@matanlurey matanlurey disabled auto-merge January 24, 2025 23:19
@matanlurey matanlurey added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 24, 2025
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jan 24, 2025
@auto-submit
Copy link
Contributor

auto-submit bot commented Jan 24, 2025

autosubmit label was removed for flutter/flutter/162118, because - The status or check suite Windows framework_tests_misc has failed. Please fix the issues identified (or deflake) before re-applying this label.

@matanlurey matanlurey added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 25, 2025
@auto-submit
Copy link
Contributor

auto-submit bot commented Jan 25, 2025

autosubmit label was removed for flutter/flutter/162118, because - The status or check suite Mac framework_tests_widgets has failed. Please fix the issues identified (or deflake) before re-applying this label.

@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jan 25, 2025
@matanlurey matanlurey added the autosubmit Merge PR when tree becomes green via auto submit App label Jan 25, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Jan 25, 2025
Merged via the queue into flutter:master with commit a3f0704 Jan 25, 2025
170 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jan 25, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 26, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 26, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 27, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 27, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 28, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 28, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 28, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jan 29, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jan 30, 2025
Roll Flutter from c1ffaa9 to b007899 (43 revisions)

flutter/flutter@c1ffaa9...b007899

2025-01-29 [email protected] Fix `Tab` linear and elastic animation blink (flutter/flutter#162315)
2025-01-29 [email protected] Pass-through `textInputAction` in `DropdownMenu` (flutter/flutter#162309)
2025-01-29 [email protected] Fix scrollUntilVisible in WidgetTester (flutter/flutter#159582)
2025-01-29 [email protected] Pass-through `maxLines` in `DropdownMenu` (flutter/flutter#161903)
2025-01-29 [email protected] fix: appbar leading width is not square for custom toolbar height (flutter/flutter#161880)
2025-01-29 [email protected] [DisplayList] Don't call Skia Ganesh methods when its not available. (flutter/flutter#162345)
2025-01-29 [email protected] Update README.md to include googler post verification steps (flutter/flutter#162272)
2025-01-29 [email protected] [engine, web] return switch expressions in many places (flutter/flutter#162336)
2025-01-29 [email protected] Update README.md to not have engine link for android (flutter/flutter#162330)
2025-01-29 [email protected] Reland "[ Widget Previews ] Add support for detecting previews and generating code (#161911)"" (flutter/flutter#162337)
2025-01-29 [email protected] Add instructions to download the Gradle wrapper to FGP readme, and add to gitignore (flutter/flutter#162332)
2025-01-29 [email protected] Fix tests to prepare for `--explicit-package-dependencies` and a bug. (flutter/flutter#162289)
2025-01-29 [email protected] Add a currently unused `runs_in_merge_queue` property to `Linux analyze`. (flutter/flutter#162335)
2025-01-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[ Widget Previews ] Add support for detecting previews and generating code (#161911)" (flutter/flutter#162327)
2025-01-28 [email protected] Support hot restart for DDC library bundle format (flutter/flutter#162123)
2025-01-28 [email protected] Started adjusting uvs to match pixel snapping. (flutter/flutter#162049)
2025-01-28 [email protected] Refactor code inside flutter.groovy  (flutter/flutter#160250)
2025-01-28 [email protected] Table implements redepth (flutter/flutter#162282)
2025-01-28 [email protected] [ Widget Previews ] Add support for detecting previews and generating code (flutter/flutter#161911)
2025-01-28 [email protected] remove dependency on `Usage` from `Pub` class (flutter/flutter#162279)
2025-01-28 [email protected] Roll Packages from 258f6dc to 02c6fef (6 revisions) (flutter/flutter#162313)
2025-01-28 [email protected] Remove `scenario_app/android` and rename to `ios_scenario_app`. (flutter/flutter#160992)
2025-01-28 [email protected] Apparently it is illegal to use `stderr` in this project. (flutter/flutter#162294)
2025-01-28 [email protected] Fix update_engine_version_test in presence of FLUTTER_PREBUILT_ENGINE_VERSION env vars. (flutter/flutter#162270)
2025-01-28 [email protected] Add missing `properties: ...` and move to presubmit. (flutter/flutter#162170)
2025-01-27 [email protected] [Impeller] make swapchain related external fence/semaphore extensions optional. (flutter/flutter#162205)
2025-01-27 49699333+dependabot[bot]@users.noreply.github.com Bump the all-github-actions group with 2 updates (flutter/flutter#162277)
2025-01-27 [email protected] Don't depend on Dart from FML. (flutter/flutter#162271)
2025-01-27 [email protected] [DisplayList] Move nested canvas enums into their own TU. (flutter/flutter#162037)
2025-01-27 [email protected] Avoid iOS text selection crash by returning nil range (flutter/flutter#161996)
2025-01-27 [email protected] fix `felt` link to point to flutter repo instead of the engine repo (flutter/flutter#161423)
2025-01-27 [email protected] Enable the Android Engine OpenGLES/Vulkan suites. (flutter/flutter#162258)
2025-01-27 [email protected] [canvaskit] Fix debug build for CanvasKit (flutter/flutter#162198)
2025-01-27 [email protected] Roll Packages from 3d3ab7b to 258f6dc (19 revisions) (flutter/flutter#162254)
2025-01-25 [email protected] Pin `customer_testing` to the SHA specified in `tests.version` (flutter/flutter#162048)
2025-01-25 [email protected] Formalize `update_engine_version.{sh|ps1}`. (flutter/flutter#162118)
2025-01-25 [email protected] Rename 'SelectionChangedCause.scribble' to 'SelectionChangedCause.stylusHandwriting' (flutter/flutter#161518)
2025-01-25 [email protected] Don't install xcode when doing `local_engine` web builds on mac. (flutter/flutter#162164)
2025-01-25 [email protected] Force Impeller backend for `android_engine_test`, and test both OpenGLES and Vulkan (flutter/flutter#162089)
2025-01-24 [email protected] [Impeller] when a command pool has many unused buffers, reset with release resources flag. (flutter/flutter#162171)
2025-01-24 [email protected] [web] Remove HTML renderer from framework tests (flutter/flutter#162038)
2025-01-24 [email protected] [Impeller] Skip clip entity replay that cannot impact current clip. (flutter/flutter#162113)
2025-01-24 [email protected] Update Android integration test package for newer AGP (flutter/flutter#161856)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
...
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request May 21, 2025
androidseb pushed a commit to androidseb/packages that referenced this pull request Jun 8, 2025
Roll Flutter from c1ffaa9 to b007899 (43 revisions)

flutter/flutter@c1ffaa9...b007899

2025-01-29 [email protected] Fix `Tab` linear and elastic animation blink (flutter/flutter#162315)
2025-01-29 [email protected] Pass-through `textInputAction` in `DropdownMenu` (flutter/flutter#162309)
2025-01-29 [email protected] Fix scrollUntilVisible in WidgetTester (flutter/flutter#159582)
2025-01-29 [email protected] Pass-through `maxLines` in `DropdownMenu` (flutter/flutter#161903)
2025-01-29 [email protected] fix: appbar leading width is not square for custom toolbar height (flutter/flutter#161880)
2025-01-29 [email protected] [DisplayList] Don't call Skia Ganesh methods when its not available. (flutter/flutter#162345)
2025-01-29 [email protected] Update README.md to include googler post verification steps (flutter/flutter#162272)
2025-01-29 [email protected] [engine, web] return switch expressions in many places (flutter/flutter#162336)
2025-01-29 [email protected] Update README.md to not have engine link for android (flutter/flutter#162330)
2025-01-29 [email protected] Reland "[ Widget Previews ] Add support for detecting previews and generating code (#161911)"" (flutter/flutter#162337)
2025-01-29 [email protected] Add instructions to download the Gradle wrapper to FGP readme, and add to gitignore (flutter/flutter#162332)
2025-01-29 [email protected] Fix tests to prepare for `--explicit-package-dependencies` and a bug. (flutter/flutter#162289)
2025-01-29 [email protected] Add a currently unused `runs_in_merge_queue` property to `Linux analyze`. (flutter/flutter#162335)
2025-01-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[ Widget Previews ] Add support for detecting previews and generating code (#161911)" (flutter/flutter#162327)
2025-01-28 [email protected] Support hot restart for DDC library bundle format (flutter/flutter#162123)
2025-01-28 [email protected] Started adjusting uvs to match pixel snapping. (flutter/flutter#162049)
2025-01-28 [email protected] Refactor code inside flutter.groovy  (flutter/flutter#160250)
2025-01-28 [email protected] Table implements redepth (flutter/flutter#162282)
2025-01-28 [email protected] [ Widget Previews ] Add support for detecting previews and generating code (flutter/flutter#161911)
2025-01-28 [email protected] remove dependency on `Usage` from `Pub` class (flutter/flutter#162279)
2025-01-28 [email protected] Roll Packages from 258f6dc to 02c6fef (6 revisions) (flutter/flutter#162313)
2025-01-28 [email protected] Remove `scenario_app/android` and rename to `ios_scenario_app`. (flutter/flutter#160992)
2025-01-28 [email protected] Apparently it is illegal to use `stderr` in this project. (flutter/flutter#162294)
2025-01-28 [email protected] Fix update_engine_version_test in presence of FLUTTER_PREBUILT_ENGINE_VERSION env vars. (flutter/flutter#162270)
2025-01-28 [email protected] Add missing `properties: ...` and move to presubmit. (flutter/flutter#162170)
2025-01-27 [email protected] [Impeller] make swapchain related external fence/semaphore extensions optional. (flutter/flutter#162205)
2025-01-27 49699333+dependabot[bot]@users.noreply.github.com Bump the all-github-actions group with 2 updates (flutter/flutter#162277)
2025-01-27 [email protected] Don't depend on Dart from FML. (flutter/flutter#162271)
2025-01-27 [email protected] [DisplayList] Move nested canvas enums into their own TU. (flutter/flutter#162037)
2025-01-27 [email protected] Avoid iOS text selection crash by returning nil range (flutter/flutter#161996)
2025-01-27 [email protected] fix `felt` link to point to flutter repo instead of the engine repo (flutter/flutter#161423)
2025-01-27 [email protected] Enable the Android Engine OpenGLES/Vulkan suites. (flutter/flutter#162258)
2025-01-27 [email protected] [canvaskit] Fix debug build for CanvasKit (flutter/flutter#162198)
2025-01-27 [email protected] Roll Packages from 3d3ab7b to 258f6dc (19 revisions) (flutter/flutter#162254)
2025-01-25 [email protected] Pin `customer_testing` to the SHA specified in `tests.version` (flutter/flutter#162048)
2025-01-25 [email protected] Formalize `update_engine_version.{sh|ps1}`. (flutter/flutter#162118)
2025-01-25 [email protected] Rename 'SelectionChangedCause.scribble' to 'SelectionChangedCause.stylusHandwriting' (flutter/flutter#161518)
2025-01-25 [email protected] Don't install xcode when doing `local_engine` web builds on mac. (flutter/flutter#162164)
2025-01-25 [email protected] Force Impeller backend for `android_engine_test`, and test both OpenGLES and Vulkan (flutter/flutter#162089)
2025-01-24 [email protected] [Impeller] when a command pool has many unused buffers, reset with release resources flag. (flutter/flutter#162171)
2025-01-24 [email protected] [web] Remove HTML renderer from framework tests (flutter/flutter#162038)
2025-01-24 [email protected] [Impeller] Skip clip entity replay that cannot impact current clip. (flutter/flutter#162113)
2025-01-24 [email protected] Update Android integration test package for newer AGP (flutter/flutter#161856)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
...
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
Roll Flutter from c1ffaa9 to b007899 (43 revisions)

flutter/flutter@c1ffaa9...b007899

2025-01-29 [email protected] Fix `Tab` linear and elastic animation blink (flutter/flutter#162315)
2025-01-29 [email protected] Pass-through `textInputAction` in `DropdownMenu` (flutter/flutter#162309)
2025-01-29 [email protected] Fix scrollUntilVisible in WidgetTester (flutter/flutter#159582)
2025-01-29 [email protected] Pass-through `maxLines` in `DropdownMenu` (flutter/flutter#161903)
2025-01-29 [email protected] fix: appbar leading width is not square for custom toolbar height (flutter/flutter#161880)
2025-01-29 [email protected] [DisplayList] Don't call Skia Ganesh methods when its not available. (flutter/flutter#162345)
2025-01-29 [email protected] Update README.md to include googler post verification steps (flutter/flutter#162272)
2025-01-29 [email protected] [engine, web] return switch expressions in many places (flutter/flutter#162336)
2025-01-29 [email protected] Update README.md to not have engine link for android (flutter/flutter#162330)
2025-01-29 [email protected] Reland "[ Widget Previews ] Add support for detecting previews and generating code (#161911)"" (flutter/flutter#162337)
2025-01-29 [email protected] Add instructions to download the Gradle wrapper to FGP readme, and add to gitignore (flutter/flutter#162332)
2025-01-29 [email protected] Fix tests to prepare for `--explicit-package-dependencies` and a bug. (flutter/flutter#162289)
2025-01-29 [email protected] Add a currently unused `runs_in_merge_queue` property to `Linux analyze`. (flutter/flutter#162335)
2025-01-28 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[ Widget Previews ] Add support for detecting previews and generating code (#161911)" (flutter/flutter#162327)
2025-01-28 [email protected] Support hot restart for DDC library bundle format (flutter/flutter#162123)
2025-01-28 [email protected] Started adjusting uvs to match pixel snapping. (flutter/flutter#162049)
2025-01-28 [email protected] Refactor code inside flutter.groovy  (flutter/flutter#160250)
2025-01-28 [email protected] Table implements redepth (flutter/flutter#162282)
2025-01-28 [email protected] [ Widget Previews ] Add support for detecting previews and generating code (flutter/flutter#161911)
2025-01-28 [email protected] remove dependency on `Usage` from `Pub` class (flutter/flutter#162279)
2025-01-28 [email protected] Roll Packages from 258f6dc to 02c6fef (6 revisions) (flutter/flutter#162313)
2025-01-28 [email protected] Remove `scenario_app/android` and rename to `ios_scenario_app`. (flutter/flutter#160992)
2025-01-28 [email protected] Apparently it is illegal to use `stderr` in this project. (flutter/flutter#162294)
2025-01-28 [email protected] Fix update_engine_version_test in presence of FLUTTER_PREBUILT_ENGINE_VERSION env vars. (flutter/flutter#162270)
2025-01-28 [email protected] Add missing `properties: ...` and move to presubmit. (flutter/flutter#162170)
2025-01-27 [email protected] [Impeller] make swapchain related external fence/semaphore extensions optional. (flutter/flutter#162205)
2025-01-27 49699333+dependabot[bot]@users.noreply.github.com Bump the all-github-actions group with 2 updates (flutter/flutter#162277)
2025-01-27 [email protected] Don't depend on Dart from FML. (flutter/flutter#162271)
2025-01-27 [email protected] [DisplayList] Move nested canvas enums into their own TU. (flutter/flutter#162037)
2025-01-27 [email protected] Avoid iOS text selection crash by returning nil range (flutter/flutter#161996)
2025-01-27 [email protected] fix `felt` link to point to flutter repo instead of the engine repo (flutter/flutter#161423)
2025-01-27 [email protected] Enable the Android Engine OpenGLES/Vulkan suites. (flutter/flutter#162258)
2025-01-27 [email protected] [canvaskit] Fix debug build for CanvasKit (flutter/flutter#162198)
2025-01-27 [email protected] Roll Packages from 3d3ab7b to 258f6dc (19 revisions) (flutter/flutter#162254)
2025-01-25 [email protected] Pin `customer_testing` to the SHA specified in `tests.version` (flutter/flutter#162048)
2025-01-25 [email protected] Formalize `update_engine_version.{sh|ps1}`. (flutter/flutter#162118)
2025-01-25 [email protected] Rename 'SelectionChangedCause.scribble' to 'SelectionChangedCause.stylusHandwriting' (flutter/flutter#161518)
2025-01-25 [email protected] Don't install xcode when doing `local_engine` web builds on mac. (flutter/flutter#162164)
2025-01-25 [email protected] Force Impeller backend for `android_engine_test`, and test both OpenGLES and Vulkan (flutter/flutter#162089)
2025-01-24 [email protected] [Impeller] when a command pool has many unused buffers, reset with release resources flag. (flutter/flutter#162171)
2025-01-24 [email protected] [web] Remove HTML renderer from framework tests (flutter/flutter#162038)
2025-01-24 [email protected] [Impeller] Skip clip entity replay that cannot impact current clip. (flutter/flutter#162113)
2025-01-24 [email protected] Update Android integration test package for newer AGP (flutter/flutter#161856)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants