Skip to content

Conversation

@jtmcdole
Copy link
Member

reland of #171927
towards #171790

Use the content aware hash when downloading engine artifacts. These are currently produced when changes to DEPs, engine/, or the release file are changed in a not-seen-before way.

We can eventually remove engine.version being tracked in release branches as an optimization.

FLUTTER_PREBUILT_ENGINE_VERSION will stay for overriding the engine.version for testing. Though Cocoon does not need to actually set it for framework only PRs anymore.

fxies post submit tests for content_hash download:
SHARD=framework_tests SUBSHARD=misc dart --enable-asserts dev/bots/test.dart
SHARD=tool_host_cross_arch_tests dart --enable-asserts dev/bots/test.dart

  ╔═╡ERROR https://github.com/flutter/flutter/pull/1╞════════════════════════════════════════════════════════════════════
  ║ Expected "Flutter Engine Version: 45b085ab2118f30441ae6e2daab4b8eb3e4a063c", but found "Flutter Engine Version: https://github.com/flutter/flutter/commit/407c051ec9eac79b97657ade60d02b7c8e3e0715".
  ╚═══════════════════════════════════════════════════════════════════════════════
  Expected: contains '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
     Which: does not contain '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'

jtmcdole added 2 commits July 22, 2025 08:10
reland of flutter#171927
towards flutter#171790

Use the content aware hash when downloading engine artifacts. These are currently produced when changes to DEPs, engine/, or the release file are changed in a not-seen-before way.

We can eventually remove engine.version being tracked in release branches as an optimization.

FLUTTER_PREBUILT_ENGINE_VERSION will stay for overriding the engine.version for testing. Though Cocoon does not need to actually set it for framework only PRs anymore.
SHARD=framework_tests SUBSHARD=misc dart --enable-asserts dev/bots/test.dart
SHARD=tool_host_cross_arch_tests dart --enable-asserts dev/bots/test.dart

```
  ╔═╡ERROR #1╞════════════════════════════════════════════════════════════════════
  ║ Expected "Flutter Engine Version: 45b085ab2118f30441ae6e2daab4b8eb3e4a063c", but found "Flutter Engine Version: 407c051".
  ╚═══════════════════════════════════════════════════════════════════════════════
```

```
  Expected: contains '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
     Which: does not contain '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
```
@jtmcdole jtmcdole requested review from a team and matanlurey as code owners July 22, 2025 15:25
@github-actions github-actions bot added tool Affects the "flutter" command-line tool. See also t: labels. team-ios Owned by iOS platform team team-tool Owned by Flutter Tool team d: docs/ flutter/flutter/docs, for contributors labels Jul 22, 2025
@jtmcdole
Copy link
Member Author

led get-builder 'luci.flutter.staging:Mac_arm64 tool_host_cross_arch_tests' | led edit -pa git_ref='refs/pull/172552/head' | led edit -pa git_url='https://github.com/flutter/flutter' | led launch

Will hopefully test out this change with master's content-hash: https://ci.chromium.org/b/8708632168256265041

Copy link
Contributor

@vashworth vashworth left a comment

Choose a reason for hiding this comment

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

iOS test changes LGTM

@jtmcdole
Copy link
Member Author

All LED tests are green.

Copy link
Member

@jmagman jmagman left a comment

Choose a reason for hiding this comment

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

iOS parts LGTM too

@jtmcdole jtmcdole added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 22, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Jul 22, 2025
Merged via the queue into flutter:master with commit ff983d3 Jul 22, 2025
150 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jul 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 22, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jul 22, 2025
flutter/flutter@70cdc0c...ee0cc66

2025-07-22 [email protected] Licenses cpp ignore whitespace (flutter/flutter#172512)
2025-07-22 [email protected] feat: start using the content aware hash for downloading artifacts (flutter/flutter#172552)
2025-07-22 [email protected] fix: correct typo in analysis_options.yaml comment (disabeling -> disabling) (flutter/flutter#170206)
2025-07-22 [email protected] Hide `flutter assemble` unless `--verbose` (flutter/flutter#172508)
2025-07-22 [email protected] Fix PopupMenuButton crashes when being hidden immediately (flutter/flutter#171970)
2025-07-22 [email protected] Add hitTestChildren to baseline-aligned stack (flutter/flutter#172485)
2025-07-22 [email protected] Roll Skia from 4aba494b8108 to eea1c33fbe84 (11 revisions) (flutter/flutter#172515)
2025-07-22 [email protected] Replaces legacy licenses check with licenses_cpp (flutter/flutter#172486)
2025-07-22 [email protected] Omit `w` (widget tree), `t` (render tree) from `flutter run --profile` `h` (flutter/flutter#172506)
2025-07-22 [email protected] Refactor checks for `--machine` (flutter/flutter#172504)
2025-07-22 [email protected] feat(IconButton): add property to specify a states controller (flutter/flutter#169821)
2025-07-21 98614782+auto-submit[bot]@users.noreply.github.com Reverts "feat: start using the content aware hash for downloading artifacts (#171927)" (flutter/flutter#172505)
2025-07-21 [email protected] Render Flutter in its own EGL context (flutter/flutter#172330)
2025-07-21 [email protected] Feat: Add momentary varient of CupertinoSlidingSegmentedControl (flutter/flutter#164262)
2025-07-21 [email protected] Roll Packages from cb8fef6 to 9c85e5e (10 revisions) (flutter/flutter#172479)
2025-07-21 [email protected] Wrap `ShutdownHook` calls to avoid crashing the tool (flutter/flutter#171917)
2025-07-21 [email protected] fix: macOS Mojave Crash on Flutter Desktop Startup (flutter/flutter#172282)
2025-07-21 [email protected] Roll Skia from 9587301e33bc to 4aba494b8108 (41 revisions) (flutter/flutter#172471)
2025-07-21 [email protected] Add CLA note to tree hygiene (flutter/flutter#172475)
2025-07-21 [email protected] Add `radioInnerRadius` to `RadioListTile` (flutter/flutter#171851)
2025-07-21 [email protected] Use baseUri always when doing a hot reload or hot restart (flutter/flutter#172271)
2025-07-21 [email protected] feat: start using the content aware hash for downloading artifacts (flutter/flutter#171927)
2025-07-21 [email protected] Add support for `/?` to alias to `--help` (flutter/flutter#172328)
2025-07-21 [email protected] Upgrade flutter_lints in project template pubspec.yaml files (flutter/flutter#172400)
2025-07-21 [email protected] Use `$dartSdkVersion` when creating "dummy" pubspec for `create_api_docs` (flutter/flutter#172327)
2025-07-21 [email protected] Adds `(defaults to ___)` when using `flutter config --help` (flutter/flutter#172329)
2025-07-21 [email protected] Add a warning on usage of `dartPluginClass: 'none'`. (flutter/flutter#172315)
2025-07-21 [email protected] Skip [tool] crash reporting on `--local-engine` (flutter/flutter#172326)
2025-07-21 [email protected] Remove IDE validation from `flutter doctor` (flutter/flutter#171924)

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] 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
azatech pushed a commit to azatech/flutter that referenced this pull request Jul 28, 2025
…lutter#172552)

reland of flutter#171927
towards flutter#171790

Use the content aware hash when downloading engine artifacts. These are
currently produced when changes to DEPs, engine/, or the release file
are changed in a not-seen-before way.

We can eventually remove engine.version being tracked in release
branches as an optimization.

FLUTTER_PREBUILT_ENGINE_VERSION will stay for overriding the
engine.version for testing. Though Cocoon does not need to actually set
it for framework only PRs anymore.

fxies post submit tests for content_hash download:
SHARD=framework_tests SUBSHARD=misc dart --enable-asserts
dev/bots/test.dart
SHARD=tool_host_cross_arch_tests dart --enable-asserts
dev/bots/test.dart

```
  ╔═╡ERROR https://github.com/flutter/flutter/pull/1╞════════════════════════════════════════════════════════════════════
  ║ Expected "Flutter Engine Version: 45b085ab2118f30441ae6e2daab4b8eb3e4a063c", but found "Flutter Engine Version: flutter@407c051".
  ╚═══════════════════════════════════════════════════════════════════════════════
```

```
  Expected: contains '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
     Which: does not contain '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
```
vashworth pushed a commit to vashworth/packages that referenced this pull request Jul 30, 2025
…r#9662)

flutter/flutter@70cdc0c...ee0cc66

2025-07-22 [email protected] Licenses cpp ignore whitespace (flutter/flutter#172512)
2025-07-22 [email protected] feat: start using the content aware hash for downloading artifacts (flutter/flutter#172552)
2025-07-22 [email protected] fix: correct typo in analysis_options.yaml comment (disabeling -> disabling) (flutter/flutter#170206)
2025-07-22 [email protected] Hide `flutter assemble` unless `--verbose` (flutter/flutter#172508)
2025-07-22 [email protected] Fix PopupMenuButton crashes when being hidden immediately (flutter/flutter#171970)
2025-07-22 [email protected] Add hitTestChildren to baseline-aligned stack (flutter/flutter#172485)
2025-07-22 [email protected] Roll Skia from 4aba494b8108 to eea1c33fbe84 (11 revisions) (flutter/flutter#172515)
2025-07-22 [email protected] Replaces legacy licenses check with licenses_cpp (flutter/flutter#172486)
2025-07-22 [email protected] Omit `w` (widget tree), `t` (render tree) from `flutter run --profile` `h` (flutter/flutter#172506)
2025-07-22 [email protected] Refactor checks for `--machine` (flutter/flutter#172504)
2025-07-22 [email protected] feat(IconButton): add property to specify a states controller (flutter/flutter#169821)
2025-07-21 98614782+auto-submit[bot]@users.noreply.github.com Reverts "feat: start using the content aware hash for downloading artifacts (#171927)" (flutter/flutter#172505)
2025-07-21 [email protected] Render Flutter in its own EGL context (flutter/flutter#172330)
2025-07-21 [email protected] Feat: Add momentary varient of CupertinoSlidingSegmentedControl (flutter/flutter#164262)
2025-07-21 [email protected] Roll Packages from cb8fef6 to 9c85e5e (10 revisions) (flutter/flutter#172479)
2025-07-21 [email protected] Wrap `ShutdownHook` calls to avoid crashing the tool (flutter/flutter#171917)
2025-07-21 [email protected] fix: macOS Mojave Crash on Flutter Desktop Startup (flutter/flutter#172282)
2025-07-21 [email protected] Roll Skia from 9587301e33bc to 4aba494b8108 (41 revisions) (flutter/flutter#172471)
2025-07-21 [email protected] Add CLA note to tree hygiene (flutter/flutter#172475)
2025-07-21 [email protected] Add `radioInnerRadius` to `RadioListTile` (flutter/flutter#171851)
2025-07-21 [email protected] Use baseUri always when doing a hot reload or hot restart (flutter/flutter#172271)
2025-07-21 [email protected] feat: start using the content aware hash for downloading artifacts (flutter/flutter#171927)
2025-07-21 [email protected] Add support for `/?` to alias to `--help` (flutter/flutter#172328)
2025-07-21 [email protected] Upgrade flutter_lints in project template pubspec.yaml files (flutter/flutter#172400)
2025-07-21 [email protected] Use `$dartSdkVersion` when creating "dummy" pubspec for `create_api_docs` (flutter/flutter#172327)
2025-07-21 [email protected] Adds `(defaults to ___)` when using `flutter config --help` (flutter/flutter#172329)
2025-07-21 [email protected] Add a warning on usage of `dartPluginClass: 'none'`. (flutter/flutter#172315)
2025-07-21 [email protected] Skip [tool] crash reporting on `--local-engine` (flutter/flutter#172326)
2025-07-21 [email protected] Remove IDE validation from `flutter doctor` (flutter/flutter#171924)

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] 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
ksokolovskyi pushed a commit to ksokolovskyi/flutter that referenced this pull request Aug 19, 2025
…lutter#172552)

reland of flutter#171927
towards flutter#171790

Use the content aware hash when downloading engine artifacts. These are
currently produced when changes to DEPs, engine/, or the release file
are changed in a not-seen-before way.

We can eventually remove engine.version being tracked in release
branches as an optimization.

FLUTTER_PREBUILT_ENGINE_VERSION will stay for overriding the
engine.version for testing. Though Cocoon does not need to actually set
it for framework only PRs anymore.

fxies post submit tests for content_hash download:
SHARD=framework_tests SUBSHARD=misc dart --enable-asserts
dev/bots/test.dart
SHARD=tool_host_cross_arch_tests dart --enable-asserts
dev/bots/test.dart

```
  ╔═╡ERROR https://github.com/flutter/flutter/pull/1╞════════════════════════════════════════════════════════════════════
  ║ Expected "Flutter Engine Version: 45b085ab2118f30441ae6e2daab4b8eb3e4a063c", but found "Flutter Engine Version: flutter@407c051".
  ╚═══════════════════════════════════════════════════════════════════════════════
```

```
  Expected: contains '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
     Which: does not contain '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
```
mboetger pushed a commit to mboetger/flutter that referenced this pull request Sep 18, 2025
…lutter#172552)

reland of flutter#171927
towards flutter#171790

Use the content aware hash when downloading engine artifacts. These are
currently produced when changes to DEPs, engine/, or the release file
are changed in a not-seen-before way.

We can eventually remove engine.version being tracked in release
branches as an optimization.

FLUTTER_PREBUILT_ENGINE_VERSION will stay for overriding the
engine.version for testing. Though Cocoon does not need to actually set
it for framework only PRs anymore.

fxies post submit tests for content_hash download:
SHARD=framework_tests SUBSHARD=misc dart --enable-asserts
dev/bots/test.dart
SHARD=tool_host_cross_arch_tests dart --enable-asserts
dev/bots/test.dart

```
  ╔═╡ERROR https://github.com/flutter/flutter/pull/1╞════════════════════════════════════════════════════════════════════
  ║ Expected "Flutter Engine Version: 45b085ab2118f30441ae6e2daab4b8eb3e4a063c", but found "Flutter Engine Version: flutter@407c051".
  ╚═══════════════════════════════════════════════════════════════════════════════
```

```
  Expected: contains '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
     Which: does not contain '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
```
korca0220 pushed a commit to korca0220/flutter that referenced this pull request Sep 22, 2025
…lutter#172552)

reland of flutter#171927
towards flutter#171790

Use the content aware hash when downloading engine artifacts. These are
currently produced when changes to DEPs, engine/, or the release file
are changed in a not-seen-before way.

We can eventually remove engine.version being tracked in release
branches as an optimization.

FLUTTER_PREBUILT_ENGINE_VERSION will stay for overriding the
engine.version for testing. Though Cocoon does not need to actually set
it for framework only PRs anymore.

fxies post submit tests for content_hash download:
SHARD=framework_tests SUBSHARD=misc dart --enable-asserts
dev/bots/test.dart
SHARD=tool_host_cross_arch_tests dart --enable-asserts
dev/bots/test.dart

```
  ╔═╡ERROR https://github.com/flutter/flutter/pull/1╞════════════════════════════════════════════════════════════════════
  ║ Expected "Flutter Engine Version: 45b085ab2118f30441ae6e2daab4b8eb3e4a063c", but found "Flutter Engine Version: flutter@407c051".
  ╚═══════════════════════════════════════════════════════════════════════════════
```

```
  Expected: contains '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
     Which: does not contain '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
```
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
lucaantonelli pushed a commit to lucaantonelli/flutter that referenced this pull request Nov 21, 2025
…lutter#172552)

reland of flutter#171927
towards flutter#171790

Use the content aware hash when downloading engine artifacts. These are
currently produced when changes to DEPs, engine/, or the release file
are changed in a not-seen-before way.

We can eventually remove engine.version being tracked in release
branches as an optimization.

FLUTTER_PREBUILT_ENGINE_VERSION will stay for overriding the
engine.version for testing. Though Cocoon does not need to actually set
it for framework only PRs anymore.

fxies post submit tests for content_hash download:
SHARD=framework_tests SUBSHARD=misc dart --enable-asserts
dev/bots/test.dart
SHARD=tool_host_cross_arch_tests dart --enable-asserts
dev/bots/test.dart

```
  ╔═╡ERROR https://github.com/flutter/flutter/pull/1╞════════════════════════════════════════════════════════════════════
  ║ Expected "Flutter Engine Version: 45b085ab2118f30441ae6e2daab4b8eb3e4a063c", but found "Flutter Engine Version: flutter@407c051".
  ╚═══════════════════════════════════════════════════════════════════════════════
```

```
  Expected: contains '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
     Which: does not contain '45b085ab2118f30441ae6e2daab4b8eb3e4a063c'
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

d: docs/ flutter/flutter/docs, for contributors team-ios Owned by iOS platform team team-tool Owned by Flutter Tool team tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants