Skip to content

Conversation

@matanlurey
Copy link
Contributor

Closes #163644.

Before this change:

flutter-dev --version                                                                         
Flutter 3.30.0-1.0.pre.215 • channel [user-branch] • https://github.com/matanlurey/flutter
Framework • revision cead517e4e (79 seconds ago) • 2025-02-19 13:00:11 -0800
Engine • revision 39b4951f8f
Tools • Dart 3.8.0 (build 3.8.0-92.0.dev) • DevTools 2.43.0

After this change:

flutter-dev --version                                                                         
Flutter 3.30.0-1.0.pre.215 • channel [user-branch] • https://github.com/matanlurey/flutter
Framework • revision cead517e4e (79 seconds ago) • 2025-02-19 13:00:11 -0800
Engine • revision 39b4951f8f (79 seconds ago) • 2025-02-18 13:42:53 -0800
Tools • Dart 3.8.0 (build 3.8.0-92.0.dev) • DevTools 2.43.0

/cc @jtmcdole as this could be helpful for sleuthing artifact mismatch.

@matanlurey matanlurey changed the title Add FlutterVersion.engineCommitDate, helps signal engine artifact SHA issues Add FlutterVersion.engineCommitDate, helps signal engine artifact SHA issues Feb 19, 2025
@github-actions github-actions bot added the tool Affects the "flutter" command-line tool. See also t: labels. label Feb 19, 2025
Copy link
Contributor

@jonahwilliams jonahwilliams left a comment

Choose a reason for hiding this comment

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

LGTM!

When using a standard release build, or master channel, [engineRevision] will be identical to [frameworkRevision]

Should we (separately) detect cases they're not the same and print some diagnostic like "hey if you're not using the sdk to contribute something might be up"?

@matanlurey
Copy link
Contributor Author

LGTM!

When using a standard release build, or master channel, [engineRevision] will be identical to [frameworkRevision]

Should we (separately) detect cases they're not the same and print some diagnostic like "hey if you're not using the sdk to contribute something might be up"?

That's a good question!

Is that better for flutter doctor than flutter --version though?

@jonahwilliams
Copy link
Contributor

YEah for doctor I think. Folks using doctor are probably not contrbuting? Or we can train the 20 or so contributors to ignore it.

@matanlurey
Copy link
Contributor Author

Let me file a bug, it would be nice to solicit opinions on "how could engine artifact mismatch be shown on flutter doctor" better.

/// `master`, `dev`, `beta`, `stable`; or old ones, like `alpha`, `hackathon`, ...
String get channel;

/// The SHA describing the commit being used for the SDK and tools provide in `flutter/flutter`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Hurrah! Documentation! 🥳

}

String get engineAge {
return _frameworkAge ??= _runGit(
Copy link
Contributor

Choose a reason for hiding this comment

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

If toString() is called before engineAge is, engineAge is always going to be the same as frameworkAge.

Also, should this logic be pulled into a helper? Maybe something like this:

String _getTimeSinceFrameworkCommit({String? revision}) {
  return _runGit(
    FlutterVersion.gitLog(
      <String>['-n', '1', '--pretty=format:%ar', if (revision != null) revision]).join(' '),
      globals.processUtils,
      flutterRoot,
    ),
  );
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good catch, fixed, and done!

@matanlurey matanlurey requested a review from bkonyi February 19, 2025 22:23
@jtmcdole
Copy link
Member

When using a standard release build, or master channel, [engineRevision] will be identical to [frameworkRevision]

Should we (separately) detect cases they're not the same and print some diagnostic like "hey if you're not using the sdk to contribute something might be up"?

From offline conversations: so long as the release artifacts are being made in a non-merge queue fashion, they will different.

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

auto-submit bot commented Feb 20, 2025

autosubmit label was removed for flutter/flutter/163652, because - The status or check suite Google testing 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 Feb 20, 2025
@matanlurey matanlurey added this pull request to the merge queue Feb 20, 2025
Merged via the queue into flutter:master with commit 7df3f8f Feb 20, 2025
139 checks passed
@matanlurey matanlurey deleted the add-flutter-version-engineCommitDate branch February 20, 2025 17:33
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 20, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 21, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 22, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 23, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 23, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Feb 24, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Feb 24, 2025
Manual roll Flutter from 39b4951 to 911aa75 (56 revisions)

Manual roll requested by [email protected]

flutter/flutter@39b4951...911aa75

2025-02-21 [email protected] Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569)
2025-02-21 [email protected] [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799)
2025-02-21 [email protected] Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844)
2025-02-21 [email protected] Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848)
2025-02-21 [email protected] Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832)
2025-02-21 [email protected] Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671)
2025-02-21 [email protected] Reland #163711 after #163780 (flutter/flutter#163812)
2025-02-21 [email protected] Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696)
2025-02-21 [email protected] Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794)
2025-02-21 [email protected] [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688)
2025-02-21 [email protected] [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766)
2025-02-21 [email protected] Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780)
2025-02-21 [email protected] Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768)
2025-02-21 [email protected] WebKit should respect TextCapitalization.words (flutter/flutter#161027)
2025-02-21 [email protected] CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089)
2025-02-21 [email protected] feat: Add selectionColor property to selectable text (flutter/flutter#162177)
2025-02-20 [email protected] Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747)
2025-02-20 [email protected] introduce system color palette (flutter/flutter#163335)
2025-02-20 [email protected] [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555)
2025-02-20 [email protected] fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932)
2025-02-20 [email protected] Create Android-API-And-Related-Versions.md (flutter/flutter#163556)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762)
2025-02-20 [email protected] Revert "Create g3_bug.yml" (flutter/flutter#163757)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753)
2025-02-20 [email protected] Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685)
2025-02-20 [email protected] Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705)
2025-02-20 [email protected] Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652)
2025-02-20 [email protected] Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711)
2025-02-20 [email protected] It is now safe to call `getBuildMode().release` (flutter/flutter#163712)
2025-02-20 [email protected] [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505)
2025-02-20 [email protected] Make Flutter version information accessible at runtime (flutter/flutter#140783)
2025-02-20 [email protected] [windows] Implement merged UI and platform thread (flutter/flutter#162935)
2025-02-20 [email protected] `CircularProgressIndicator` throws null exception (flutter/flutter#163356)
2025-02-20 [email protected] Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874)
2025-02-20 [email protected] Check for tracked engine.version before overriding (flutter/flutter#163672)
2025-02-20 [email protected] showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928)
2025-02-20 [email protected] Create helper method to dispatch object creation and disposal. (flutter/flutter#163637)
2025-02-20 [email protected] Redistribute iOS TESTOWNERS (flutter/flutter#163653)
2025-02-20 [email protected] enclosingElement -> enclosingElement3 (flutter/flutter#163681)
2025-02-19 [email protected] [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619)
2025-02-19 [email protected] [iOS] always post new task during gesture dispatch. (flutter/flutter#163646)
2025-02-19 [email protected] Allow flutter tools to detach a running Chrome session (flutter/flutter#163349)
2025-02-19 [email protected] Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645)
2025-02-19 [email protected] [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582)
...
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
)

Manual roll Flutter from 39b4951 to 911aa75 (56 revisions)

Manual roll requested by [email protected]

flutter/flutter@39b4951...911aa75

2025-02-21 [email protected] Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569)
2025-02-21 [email protected] [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799)
2025-02-21 [email protected] Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844)
2025-02-21 [email protected] Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848)
2025-02-21 [email protected] Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832)
2025-02-21 [email protected] Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671)
2025-02-21 [email protected] Reland #163711 after #163780 (flutter/flutter#163812)
2025-02-21 [email protected] Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696)
2025-02-21 [email protected] Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794)
2025-02-21 [email protected] [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688)
2025-02-21 [email protected] [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766)
2025-02-21 [email protected] Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780)
2025-02-21 [email protected] Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768)
2025-02-21 [email protected] WebKit should respect TextCapitalization.words (flutter/flutter#161027)
2025-02-21 [email protected] CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089)
2025-02-21 [email protected] feat: Add selectionColor property to selectable text (flutter/flutter#162177)
2025-02-20 [email protected] Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747)
2025-02-20 [email protected] introduce system color palette (flutter/flutter#163335)
2025-02-20 [email protected] [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555)
2025-02-20 [email protected] fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932)
2025-02-20 [email protected] Create Android-API-And-Related-Versions.md (flutter/flutter#163556)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762)
2025-02-20 [email protected] Revert "Create g3_bug.yml" (flutter/flutter#163757)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753)
2025-02-20 [email protected] Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685)
2025-02-20 [email protected] Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705)
2025-02-20 [email protected] Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652)
2025-02-20 [email protected] Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711)
2025-02-20 [email protected] It is now safe to call `getBuildMode().release` (flutter/flutter#163712)
2025-02-20 [email protected] [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505)
2025-02-20 [email protected] Make Flutter version information accessible at runtime (flutter/flutter#140783)
2025-02-20 [email protected] [windows] Implement merged UI and platform thread (flutter/flutter#162935)
2025-02-20 [email protected] `CircularProgressIndicator` throws null exception (flutter/flutter#163356)
2025-02-20 [email protected] Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874)
2025-02-20 [email protected] Check for tracked engine.version before overriding (flutter/flutter#163672)
2025-02-20 [email protected] showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928)
2025-02-20 [email protected] Create helper method to dispatch object creation and disposal. (flutter/flutter#163637)
2025-02-20 [email protected] Redistribute iOS TESTOWNERS (flutter/flutter#163653)
2025-02-20 [email protected] enclosingElement -> enclosingElement3 (flutter/flutter#163681)
2025-02-19 [email protected] [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619)
2025-02-19 [email protected] [iOS] always post new task during gesture dispatch. (flutter/flutter#163646)
2025-02-19 [email protected] Allow flutter tools to detach a running Chrome session (flutter/flutter#163349)
2025-02-19 [email protected] Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645)
2025-02-19 [email protected] [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582)
...
FMorschel pushed a commit to FMorschel/packages that referenced this pull request Jun 9, 2025
)

Manual roll Flutter from 39b4951 to 911aa75 (56 revisions)

Manual roll requested by [email protected]

flutter/flutter@39b4951...911aa75

2025-02-21 [email protected] Remove legacy scenec stuff from flutter_tool (flutter/flutter#163569)
2025-02-21 [email protected] [fuchsia] reorder tests in test_suites.yaml and update the comment (flutter/flutter#163799)
2025-02-21 [email protected] Roll Dart SDK from 7ceb3be8ed0a to c5e582f15b6c (2 revisions) (flutter/flutter#163844)
2025-02-21 [email protected] Roll Packages from a9b9172 to 5a721da (2 revisions) (flutter/flutter#163848)
2025-02-21 [email protected] Roll Dart SDK from ad642ee6f94b to 7ceb3be8ed0a (2 revisions) (flutter/flutter#163832)
2025-02-21 [email protected] Update how to use VSCode with `clangd` after the monorepo merge (flutter/flutter#163671)
2025-02-21 [email protected] Reland #163711 after #163780 (flutter/flutter#163812)
2025-02-21 [email protected] Fix incorrect function name in FlutterEngineRun documentation (flutter/flutter#163696)
2025-02-21 [email protected] Roll Dart SDK from 557cbf2c7da6 to ad642ee6f94b (5 revisions) (flutter/flutter#163794)
2025-02-21 [email protected] [canvaskit] Use `visualViewport.scale` to determine device pixel ratio. (flutter/flutter#163688)
2025-02-21 [email protected] [DisplayList] Migrate rendering tests and benchmarks to DL geometry (flutter/flutter#163766)
2025-02-21 [email protected] Make `releaseMode` explicit, inform `determineDevDependencies` entirely on the flag (flutter/flutter#163780)
2025-02-21 [email protected] Ensure `exclude_dev_dependencies_test` runs if `flutter_tools` changes. (flutter/flutter#163768)
2025-02-21 [email protected] WebKit should respect TextCapitalization.words (flutter/flutter#161027)
2025-02-21 [email protected] CupertinoSliverNavigationBar.search fidelity updates (flutter/flutter#163089)
2025-02-21 [email protected] feat: Add selectionColor property to selectable text (flutter/flutter#162177)
2025-02-20 [email protected] Restore `linux_android_emulator_tests` to CI. (flutter/flutter#163747)
2025-02-20 [email protected] introduce system color palette (flutter/flutter#163335)
2025-02-20 [email protected] [web] DRY up access to headers required for multi-threaded WebAssembly (flutter/flutter#163555)
2025-02-20 [email protected] fix(CupertinoDatePicker): font is inconsistent (flutter/flutter#162932)
2025-02-20 [email protected] Create Android-API-And-Related-Versions.md (flutter/flutter#163556)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (#163711)" (flutter/flutter#163762)
2025-02-20 [email protected] Revert "Create g3_bug.yml" (flutter/flutter#163757)
2025-02-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Make Flutter version information accessible at runtime (#140783)" (flutter/flutter#163753)
2025-02-20 [email protected] Skip Xcode install on mac_mokey Android tests (flutter/flutter#163685)
2025-02-20 [email protected] Roll Dart SDK from 2cecb16348e4 to 557cbf2c7da6 (3 revisions) (flutter/flutter#163705)
2025-02-20 [email protected] Add `FlutterVersion.engineCommitDate`, helps signal engine artifact SHA issues (flutter/flutter#163652)
2025-02-20 [email protected] Avoid implicitly setting `determineDevDependencies: true` (it's not a safe operation) (flutter/flutter#163711)
2025-02-20 [email protected] It is now safe to call `getBuildMode().release` (flutter/flutter#163712)
2025-02-20 [email protected] [iOS] remove Skia interfaces from iOS platform code. (flutter/flutter#163505)
2025-02-20 [email protected] Make Flutter version information accessible at runtime (flutter/flutter#140783)
2025-02-20 [email protected] [windows] Implement merged UI and platform thread (flutter/flutter#162935)
2025-02-20 [email protected] `CircularProgressIndicator` throws null exception (flutter/flutter#163356)
2025-02-20 [email protected] Fix the issue where DropdownMenu does not gain focus when tapped. (flutter/flutter#162874)
2025-02-20 [email protected] Check for tracked engine.version before overriding (flutter/flutter#163672)
2025-02-20 [email protected] showDialogs adds a `requestFocus` parameter. (flutter/flutter#162928)
2025-02-20 [email protected] Create helper method to dispatch object creation and disposal. (flutter/flutter#163637)
2025-02-20 [email protected] Redistribute iOS TESTOWNERS (flutter/flutter#163653)
2025-02-20 [email protected] enclosingElement -> enclosingElement3 (flutter/flutter#163681)
2025-02-19 [email protected] [ Widget Preview ] Move `preview_detector_test.dart` from `general.shard` to `commands.shard` (flutter/flutter#163619)
2025-02-19 [email protected] [iOS] always post new task during gesture dispatch. (flutter/flutter#163646)
2025-02-19 [email protected] Allow flutter tools to detach a running Chrome session (flutter/flutter#163349)
2025-02-19 [email protected] Reland "[Impeller] add support for rational bezier conics to Path (#63282)" (flutter/flutter#163645)
2025-02-19 [email protected] [web:a11y] wheel events switch to pointer mode (flutter/flutter#163582)
...
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.

flutter --version should say "__ ago" for Engine as well

4 participants