Skip to content

Conversation

@jtmcdole
Copy link
Member

@jtmcdole jtmcdole commented Jul 1, 2025

The flutter tool will now download and use an engine_stamp.json file to determine the engine version, content hash, build date, and commit date.

The file is treated as a new DevelopmentArtifact.informative and is fetched before flutterVersion is used. This ensures we have build information for a clean checkout with no bin/cache folder. Users that download from flutter.dev will have engine_stamp.json, so its a no-op.

This change provides support for content hashed engine artifacts, who's revision (the hash) is not a git commit sha. A side benefit is "git" is only used at build time to extract this information.

Note

Content hashed artifacts are not enabled yet for downloads; bin/internal/engine.version (releases) and the shell updaters still look for the git commit sha. One can test this out by setting FLUTTER_PREBUILD_ENGINE_VERSION to the content hash.

The flutter tool will now download and use an `engine_stamp.json`
file to determine the engine version, content hash, build date, and
commit date.

This change provides support for content hashed engine artifacts, who's
revision (the hash) is not a git commit sha. A side benifit is "git" is
only used at build time to extract this information.

Content hashed artifacts are not enabled yet;
bin/internal/engine.version (releases) and the shell updaters still look
for the git commit sha. One can test this out by setting
FLUTTER_PREBUILD_ENGINE_VERSION to the content hash.
@jtmcdole jtmcdole requested review from bkonyi and matanlurey July 1, 2025 16:14
@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Jul 1, 2025
@jtmcdole
Copy link
Member Author

jtmcdole commented Jul 1, 2025

Failing tests look real - so moving to draft while I figure out how to recreate.

@jtmcdole jtmcdole marked this pull request as draft July 1, 2025 16:19
@flutter-dashboard
Copy link

This pull request has been changed to a draft. The currently pending flutter-gold status will not be able to resolve until a new commit is pushed or the change is marked ready for review again.

For more guidance, visit Writing a golden file test for package:flutter.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@jtmcdole jtmcdole marked this pull request as ready for review July 2, 2025 00:05
@jtmcdole
Copy link
Member Author

jtmcdole commented Jul 2, 2025

Waiting on g3fix to retest.

@jtmcdole
Copy link
Member Author

jtmcdole commented Jul 2, 2025

G3Fix works.

Copy link
Contributor

@bkonyi bkonyi left a comment

Choose a reason for hiding this comment

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

LGTM overall.

@jtmcdole jtmcdole added the autosubmit Merge PR when tree becomes green via auto submit App label Jul 7, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Jul 8, 2025
Merged via the queue into flutter:master with commit 13d2219 Jul 8, 2025
138 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Jul 8, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jul 8, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jul 8, 2025
flutter/flutter@28a4e85...adffe24

2025-07-08 [email protected] Roll Skia from 0669913308d3 to e159882c6ce0 (1 revision) (flutter/flutter#171766)
2025-07-08 [email protected] Roll Skia from 36b1f71fc14f to 0669913308d3 (4 revisions) (flutter/flutter#171756)
2025-07-08 [email protected] Roll Skia from f35536730dea to 36b1f71fc14f (3 revisions) (flutter/flutter#171751)
2025-07-08 [email protected] Roll Skia from 05374bbe5377 to f35536730dea (1 revision) (flutter/flutter#171744)
2025-07-08 [email protected] Roll Skia from 4968a30d721c to 05374bbe5377 (2 revisions) (flutter/flutter#171742)
2025-07-08 [email protected] Roll Skia from ad5c330487f7 to 4968a30d721c (8 revisions) (flutter/flutter#171739)
2025-07-08 [email protected] feat: Use engine_stamp.json in flutter tool (flutter/flutter#171454)
2025-07-08 [email protected] [ Tool ] Remove long-deprecated `make-host-app-editable` (flutter/flutter#171715)
2025-07-07 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 (#171399)" (flutter/flutter#171736)
2025-07-07 [email protected] Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 (flutter/flutter#171399)
2025-07-07 [email protected] [android] release background image readers on <= Android 14 (flutter/flutter#171193)
2025-07-07 [email protected] [ Tool ] Fix crash when SIGQUIT is sent to enable the VM service for `flutter analyze --watch` (flutter/flutter#171713)
2025-07-07 [email protected] Roll Skia from 47a5693d191a to ad5c330487f7 (2 revisions) (flutter/flutter#171716)
2025-07-07 [email protected] Run hot_reload_web_test.dart on Mac/Windows (flutter/flutter#171279)
2025-07-07 [email protected] Roll Fuchsia Linux SDK from 2DeZD1utFrnSwUfVT... to AinHuT0vgOelA1g7_... (flutter/flutter#171700)
2025-07-07 [email protected] [ Tool ] Prepare for enabling `omit_obvious_*_types` and `specify_nonobvious_*_types` (flutter/flutter#171651)
2025-07-07 [email protected] Roll Packages from e4fd6c0 to 2c52f24 (1 revision) (flutter/flutter#171705)

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
@alexmarkov
Copy link
Contributor

It looks like this change broke Dart/Flutter head-head bots:

Flutter assets will be downloaded from https://storage.googleapis.com/flutter_archives_v2/monorepo/8709644868295095665. Make sure you trust this source!
Failed to download https://storage.googleapis.com/flutter_archives_v2/monorepo/8709644868295095665/flutter_infra_release/flutter/e9ae2795b8a184d7da0d901060d8e64ad0c9600c/engine_stamp.json. Ensure you have network connectivity and then try again.
Exception: 404

log

These bots run flutter update-packages -v with FLUTTER_PREBUILT_ENGINE_VERSION set.

@jtmcdole Can you advise on how to repair those bots?

mboetger pushed a commit to mboetger/flutter that referenced this pull request Jul 21, 2025
The flutter tool will now download and use an `engine_stamp.json` file
to determine the engine version, content hash, build date, and commit
date.

The file is treated as a new `DevelopmentArtifact.informative` and is
fetched before flutterVersion is used. This ensures we have build
information for a clean checkout with no bin/cache folder. Users that
download from flutter.dev will have engine_stamp.json, so its a no-op.

This change provides support for content hashed engine artifacts, who's
revision (the hash) is not a git commit sha. A side benefit is "git" is
only used at build time to extract this information.

> [!NOTE]
> Content hashed artifacts are not enabled yet for downloads;
bin/internal/engine.version (releases) and the shell updaters still look
for the git commit sha. One can test this out by setting
`FLUTTER_PREBUILD_ENGINE_VERSION` to the content hash.
azatech pushed a commit to azatech/flutter that referenced this pull request Jul 28, 2025
The flutter tool will now download and use an `engine_stamp.json` file
to determine the engine version, content hash, build date, and commit
date.

The file is treated as a new `DevelopmentArtifact.informative` and is
fetched before flutterVersion is used. This ensures we have build
information for a clean checkout with no bin/cache folder. Users that
download from flutter.dev will have engine_stamp.json, so its a no-op.

This change provides support for content hashed engine artifacts, who's
revision (the hash) is not a git commit sha. A side benefit is "git" is
only used at build time to extract this information.

> [!NOTE]
> Content hashed artifacts are not enabled yet for downloads;
bin/internal/engine.version (releases) and the shell updaters still look
for the git commit sha. One can test this out by setting
`FLUTTER_PREBUILD_ENGINE_VERSION` to the content hash.
vashworth pushed a commit to vashworth/packages that referenced this pull request Jul 30, 2025
…r#9580)

flutter/flutter@28a4e85...adffe24

2025-07-08 [email protected] Roll Skia from 0669913308d3 to e159882c6ce0 (1 revision) (flutter/flutter#171766)
2025-07-08 [email protected] Roll Skia from 36b1f71fc14f to 0669913308d3 (4 revisions) (flutter/flutter#171756)
2025-07-08 [email protected] Roll Skia from f35536730dea to 36b1f71fc14f (3 revisions) (flutter/flutter#171751)
2025-07-08 [email protected] Roll Skia from 05374bbe5377 to f35536730dea (1 revision) (flutter/flutter#171744)
2025-07-08 [email protected] Roll Skia from 4968a30d721c to 05374bbe5377 (2 revisions) (flutter/flutter#171742)
2025-07-08 [email protected] Roll Skia from ad5c330487f7 to 4968a30d721c (8 revisions) (flutter/flutter#171739)
2025-07-08 [email protected] feat: Use engine_stamp.json in flutter tool (flutter/flutter#171454)
2025-07-08 [email protected] [ Tool ] Remove long-deprecated `make-host-app-editable` (flutter/flutter#171715)
2025-07-07 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 (#171399)" (flutter/flutter#171736)
2025-07-07 [email protected] Bump warn and error versions of agp, kotlin and gradle versions in preparation for gradle 9 (flutter/flutter#171399)
2025-07-07 [email protected] [android] release background image readers on <= Android 14 (flutter/flutter#171193)
2025-07-07 [email protected] [ Tool ] Fix crash when SIGQUIT is sent to enable the VM service for `flutter analyze --watch` (flutter/flutter#171713)
2025-07-07 [email protected] Roll Skia from 47a5693d191a to ad5c330487f7 (2 revisions) (flutter/flutter#171716)
2025-07-07 [email protected] Run hot_reload_web_test.dart on Mac/Windows (flutter/flutter#171279)
2025-07-07 [email protected] Roll Fuchsia Linux SDK from 2DeZD1utFrnSwUfVT... to AinHuT0vgOelA1g7_... (flutter/flutter#171700)
2025-07-07 [email protected] [ Tool ] Prepare for enabling `omit_obvious_*_types` and `specify_nonobvious_*_types` (flutter/flutter#171651)
2025-07-07 [email protected] Roll Packages from e4fd6c0 to 2c52f24 (1 revision) (flutter/flutter#171705)

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
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 14, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 15, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 16, 2025
JSUYA added a commit to JSUYA/flutter-tizen that referenced this pull request Sep 9, 2025
JSUYA added a commit to JSUYA/flutter-tizen that referenced this pull request Sep 19, 2025
lucaantonelli pushed a commit to lucaantonelli/flutter that referenced this pull request Nov 21, 2025
The flutter tool will now download and use an `engine_stamp.json` file
to determine the engine version, content hash, build date, and commit
date.

The file is treated as a new `DevelopmentArtifact.informative` and is
fetched before flutterVersion is used. This ensures we have build
information for a clean checkout with no bin/cache folder. Users that
download from flutter.dev will have engine_stamp.json, so its a no-op.

This change provides support for content hashed engine artifacts, who's
revision (the hash) is not a git commit sha. A side benefit is "git" is
only used at build time to extract this information.

> [!NOTE]
> Content hashed artifacts are not enabled yet for downloads;
bin/internal/engine.version (releases) and the shell updaters still look
for the git commit sha. One can test this out by setting
`FLUTTER_PREBUILD_ENGINE_VERSION` to the content hash.
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.

3 participants