-
Notifications
You must be signed in to change notification settings - Fork 28.8k
feat: Use engine_stamp.json in flutter tool #171454
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
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.
Failing tests look real - so moving to draft while I figure out how to recreate. |
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 Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
Waiting on g3fix to retest. |
G3Fix works. |
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.