Checkout commit for customer_testing

The `GIT_BRANCH` is `master` for both pre-submit and post-submit. This is okay for post-submit as we are validating TOT, but it fails to validate PR changes for pre-submit. This CL does
1) Checkouts latest commit instead of branch `master`
2) No-op for release branches

Led runs:
pre-submit (based on PR: https://github.com/flutter/flutter/pull/105166): https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/keyonghan_google.com/325a7fdf36bc45bb903343dcceb5ed08a77e7c46b86a1b00fbb72bcd0a63f4de/+/build.proto?server=chromium-swarm.appspot.com
post-submit: https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/keyonghan_google.com/be52a8d72e863ee18c54a465d9d51e2bfa43f24ee8a95adf1b8242b8a5a311c6/+/build.proto?server=chromium-swarm.appspot.com
Change-Id: Iecea93d5ce5028ba2774fef989b7839a77a27da6
Bug: https://github.com/flutter/flutter/issues/104433
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/30840
Reviewed-by: Christopher Fujino <fujino@google.com>
Commit-Queue: Keyong Han <keyonghan@google.com>
diff --git a/recipe_modules/adhoc_validation/examples/full.expected/invalid_validation.json b/recipe_modules/adhoc_validation/examples/full.expected/invalid_validation.json
index c39c45a..4a519a4 100644
--- a/recipe_modules/adhoc_validation/examples/full.expected/invalid_validation.json
+++ b/recipe_modules/adhoc_validation/examples/full.expected/invalid_validation.json
@@ -1,5 +1,15 @@
 [
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "RECIPE CRASH (Uncaught exception)",
     "~followup_annotations": [
diff --git a/recipe_modules/adhoc_validation/examples/full.expected/linux.json b/recipe_modules/adhoc_validation/examples/full.expected/linux.json
index 566a017..da960ab 100644
--- a/recipe_modules/adhoc_validation/examples/full.expected/linux.json
+++ b/recipe_modules/adhoc_validation/examples/full.expected/linux.json
@@ -1,5 +1,15 @@
 [
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Docs"
   },
diff --git a/recipe_modules/adhoc_validation/examples/full.expected/mac.json b/recipe_modules/adhoc_validation/examples/full.expected/mac.json
index 8ea1cd5..320afb3 100644
--- a/recipe_modules/adhoc_validation/examples/full.expected/mac.json
+++ b/recipe_modules/adhoc_validation/examples/full.expected/mac.json
@@ -1,5 +1,15 @@
 [
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Docs"
   },
diff --git a/recipe_modules/adhoc_validation/examples/full.expected/mac_nodeps.json b/recipe_modules/adhoc_validation/examples/full.expected/mac_nodeps.json
index e0f3a5b..b70638a 100644
--- a/recipe_modules/adhoc_validation/examples/full.expected/mac_nodeps.json
+++ b/recipe_modules/adhoc_validation/examples/full.expected/mac_nodeps.json
@@ -1,5 +1,15 @@
 [
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Docs"
   },
diff --git a/recipe_modules/adhoc_validation/examples/full.expected/win.json b/recipe_modules/adhoc_validation/examples/full.expected/win.json
index 289e258..ce40448 100644
--- a/recipe_modules/adhoc_validation/examples/full.expected/win.json
+++ b/recipe_modules/adhoc_validation/examples/full.expected/win.json
@@ -1,5 +1,15 @@
 [
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Docs"
   },
diff --git a/recipe_modules/adhoc_validation/resources/customer_testing.bat b/recipe_modules/adhoc_validation/resources/customer_testing.bat
index 242d96c..8ab6e83 100644
--- a/recipe_modules/adhoc_validation/resources/customer_testing.bat
+++ b/recipe_modules/adhoc_validation/resources/customer_testing.bat
@@ -5,7 +5,6 @@
 REM The customer testing requires both the branch under test and master to be checked out.
 git fetch origin master
 git checkout master
-git fetch origin %GIT_BRANCH%:%GIT_BRANCH%
-git checkout %GIT_BRANCH%
+git checkout %REVISION%
 CD dev/customer_testing/
 CALL ci.bat
diff --git a/recipe_modules/adhoc_validation/resources/customer_testing.sh b/recipe_modules/adhoc_validation/resources/customer_testing.sh
index 5dbf91b..1f9595b 100644
--- a/recipe_modules/adhoc_validation/resources/customer_testing.sh
+++ b/recipe_modules/adhoc_validation/resources/customer_testing.sh
@@ -8,13 +8,9 @@
 
 # Customer testing require both master and the branch
 # under test to be checkout out.
-if [ "$GIT_BRANCH" != 'master' ]
-then
-  git fetch origin master
-  git checkout master
-fi
 
-git fetch origin $GIT_BRANCH:$GIT_BRANCH
-git checkout $GIT_BRANCH
+git fetch origin master
+git checkout master
+git checkout $REVISION
 cd dev/customer_testing/
 bash ci.sh
diff --git a/recipe_modules/flutter_deps/examples/full.expected/basic.json b/recipe_modules/flutter_deps/examples/full.expected/basic.json
index a982175..1235422 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/basic.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/basic.json
@@ -703,6 +703,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter\\ sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipe_modules/flutter_deps/examples/full.expected/flutter_engine.json b/recipe_modules/flutter_deps/examples/full.expected/flutter_engine.json
index 732902e..b91b06d 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/flutter_engine.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/flutter_engine.json
@@ -789,6 +789,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter\\ sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipe_modules/flutter_deps/examples/full.expected/goldTryjob.json b/recipe_modules/flutter_deps/examples/full.expected/goldTryjob.json
index a982175..1235422 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/goldTryjob.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/goldTryjob.json
@@ -703,6 +703,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter\\ sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipe_modules/flutter_deps/examples/full.expected/linux.json b/recipe_modules/flutter_deps/examples/full.expected/linux.json
index a982175..1235422 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/linux.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/linux.json
@@ -703,6 +703,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter\\ sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipe_modules/flutter_deps/examples/full.expected/local_engine_cas.json b/recipe_modules/flutter_deps/examples/full.expected/local_engine_cas.json
index fa06923..cf66fdd 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/local_engine_cas.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/local_engine_cas.json
@@ -789,6 +789,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter\\ sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipe_modules/flutter_deps/examples/full.expected/windows.json b/recipe_modules/flutter_deps/examples/full.expected/windows.json
index c280eed..6f327bd 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/windows.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/windows.json
@@ -757,6 +757,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter\\ sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json b/recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json
index 06ea984..10b9821 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json
@@ -703,6 +703,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter\\ sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Install arm64ruby"
   },
diff --git a/recipe_modules/flutter_deps/examples/full.expected/with-gems.json b/recipe_modules/flutter_deps/examples/full.expected/with-gems.json
index f27bc3d..7194b0b 100644
--- a/recipe_modules/flutter_deps/examples/full.expected/with-gems.json
+++ b/recipe_modules/flutter_deps/examples/full.expected/with-gems.json
@@ -703,6 +703,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter\\ sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Install gems"
   },
diff --git a/recipe_modules/fuchsia_util/examples/full.expected/basic.json b/recipe_modules/fuchsia_util/examples/full.expected/basic.json
index 71daf5e..f19ee3d 100644
--- a/recipe_modules/fuchsia_util/examples/full.expected/basic.json
+++ b/recipe_modules/fuchsia_util/examples/full.expected/basic.json
@@ -575,6 +575,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "None",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Prepare Environment"
   },
diff --git a/recipe_modules/repo_util/api.py b/recipe_modules/repo_util/api.py
index 2f93d16..b3b883b 100644
--- a/recipe_modules/repo_util/api.py
+++ b/recipe_modules/repo_util/api.py
@@ -146,13 +146,18 @@
     # We assume the commit is not duplicated if it is not comming from beta or stable.
     return False
 
+  def get_commit(self, checkout_path):
+    with self.m.context(cwd=checkout_path):
+      commit = self.m.git(
+          'rev-parse', 'HEAD',
+          stdout=self.m.raw_io.output_text()).stdout.strip()
+      return commit
+
   def current_commit_branches(self, checkout_path):
     """Gets the list of branches for the current commit."""
     with self.m.step.nest('Identify branches'):
       with self.m.context(cwd=checkout_path):
-        commit = self.m.git(
-            'rev-parse', 'HEAD',
-            stdout=self.m.raw_io.output_text()).stdout.strip()
+        commit = self.get_commit(checkout_path)
         branches = self.m.git(
             'branch', '-a', '--contains', commit,
             stdout=self.m.raw_io.output_text()).stdout.splitlines()
@@ -235,7 +240,7 @@
         'OS':
             'linux' if self.m.platform.name == 'linux' else
             ('darwin' if self.m.platform.name == 'mac' else 'win'),
-        'REVISION': self.m.buildbucket.gitiles_commit.id or ''
+        'REVISION': self.get_commit(checkout_path)
     }
     env_prefixes = {'PATH': ['%s' % str(flutter_bin), '%s' % str(dart_bin)]}
     return env, env_prefixes
diff --git a/recipe_modules/repo_util/examples/full.expected/basic.json b/recipe_modules/repo_util/examples/full.expected/basic.json
index ef9c978..5b5ade3 100644
--- a/recipe_modules/repo_util/examples/full.expected/basic.json
+++ b/recipe_modules/repo_util/examples/full.expected/basic.json
@@ -651,6 +651,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Identify branches (4)"
   },
diff --git a/recipe_modules/repo_util/examples/full.expected/bot_update.json b/recipe_modules/repo_util/examples/full.expected/bot_update.json
index 2908c33..2f2b356 100644
--- a/recipe_modules/repo_util/examples/full.expected/bot_update.json
+++ b/recipe_modules/repo_util/examples/full.expected/bot_update.json
@@ -555,6 +555,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Checkout source code"
   },
diff --git a/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json b/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json
index 19e5c68..8838d36 100644
--- a/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json
+++ b/recipe_modules/repo_util/examples/full.expected/first_bot_update_failed.json
@@ -555,6 +555,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Checkout source code",
     "~followup_annotations": [
diff --git a/recipes/cocoon/cocoon.expected/pull_request.json b/recipes/cocoon/cocoon.expected/pull_request.json
index e2f85d3..a4b045a 100644
--- a/recipes/cocoon/cocoon.expected/pull_request.json
+++ b/recipes/cocoon/cocoon.expected/pull_request.json
@@ -273,6 +273,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/devicelab/devicelab_drone.expected/basic.json b/recipes/devicelab/devicelab_drone.expected/basic.json
index 0288d5e..3f8643b 100644
--- a/recipes/devicelab/devicelab_drone.expected/basic.json
+++ b/recipes/devicelab/devicelab_drone.expected/basic.json
@@ -242,6 +242,28 @@
     "timeout": 600.0
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "test:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Initialize logs"
   },
@@ -365,7 +387,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -407,7 +429,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -449,7 +471,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -502,7 +524,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -567,7 +589,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -621,7 +643,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -683,7 +705,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -736,7 +758,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -783,7 +805,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -830,7 +852,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -877,7 +899,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -924,7 +946,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -975,7 +997,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1019,7 +1041,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
diff --git a/recipes/devicelab/devicelab_drone.expected/local-engine.json b/recipes/devicelab/devicelab_drone.expected/local-engine.json
index 619d7bd..b714e40 100644
--- a/recipes/devicelab/devicelab_drone.expected/local-engine.json
+++ b/recipes/devicelab/devicelab_drone.expected/local-engine.json
@@ -242,6 +242,28 @@
     "timeout": 600.0
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "test:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Initialize logs"
   },
@@ -505,7 +527,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -549,7 +571,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -593,7 +615,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -651,7 +673,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -717,7 +739,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -774,7 +796,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -839,7 +861,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -895,7 +917,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -945,7 +967,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -995,7 +1017,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1045,7 +1067,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1095,7 +1117,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1149,7 +1171,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1204,7 +1226,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1256,7 +1278,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1304,7 +1326,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1356,7 +1378,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1416,7 +1438,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
       "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
     },
diff --git a/recipes/devicelab/devicelab_drone.expected/no-upload-metrics-linux-staging.json b/recipes/devicelab/devicelab_drone.expected/no-upload-metrics-linux-staging.json
index d5e2d84..932b0d5 100644
--- a/recipes/devicelab/devicelab_drone.expected/no-upload-metrics-linux-staging.json
+++ b/recipes/devicelab/devicelab_drone.expected/no-upload-metrics-linux-staging.json
@@ -242,6 +242,28 @@
     "timeout": 600.0
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Initialize logs"
   },
@@ -365,7 +387,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -407,7 +429,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -449,7 +471,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -502,7 +524,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -565,7 +587,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -619,7 +641,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -681,7 +703,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -734,7 +756,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -781,7 +803,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -828,7 +850,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -875,7 +897,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -922,7 +944,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -973,7 +995,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1023,7 +1045,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1079,7 +1101,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1131,7 +1153,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1192,7 +1214,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
diff --git a/recipes/devicelab/devicelab_drone.expected/post-submit.json b/recipes/devicelab/devicelab_drone.expected/post-submit.json
index 157d2d7..282dbb3 100644
--- a/recipes/devicelab/devicelab_drone.expected/post-submit.json
+++ b/recipes/devicelab/devicelab_drone.expected/post-submit.json
@@ -242,6 +242,28 @@
     "timeout": 600.0
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Initialize logs"
   },
@@ -365,7 +387,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -407,7 +429,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -449,7 +471,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -502,7 +524,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -567,7 +589,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -621,7 +643,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -683,7 +705,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -736,7 +758,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -783,7 +805,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -830,7 +852,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -877,7 +899,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -924,7 +946,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -975,7 +997,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1019,7 +1041,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1071,7 +1093,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1121,7 +1143,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1167,7 +1189,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1217,7 +1239,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1277,7 +1299,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
       "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
     },
diff --git a/recipes/devicelab/devicelab_drone.expected/suppress-logs.json b/recipes/devicelab/devicelab_drone.expected/suppress-logs.json
index 9cf7d4c..d810061 100644
--- a/recipes/devicelab/devicelab_drone.expected/suppress-logs.json
+++ b/recipes/devicelab/devicelab_drone.expected/suppress-logs.json
@@ -242,6 +242,28 @@
     "timeout": 600.0
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Dependencies"
   },
@@ -300,7 +322,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -340,7 +362,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -380,7 +402,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -431,7 +453,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -481,7 +503,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -529,7 +551,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -573,7 +595,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -621,7 +643,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -679,7 +701,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
       "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
     },
@@ -731,7 +753,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -785,7 +807,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -835,7 +857,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -894,7 +916,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
diff --git a/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json b/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json
index 8391849..54590e1 100644
--- a/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json
+++ b/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json
@@ -281,6 +281,28 @@
     "timeout": 600.0
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Initialize logs"
   },
@@ -404,7 +426,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -445,7 +467,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -486,7 +508,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -528,7 +550,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -570,7 +592,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -619,7 +641,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -682,7 +704,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -724,7 +746,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -767,7 +789,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -809,7 +831,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -851,7 +873,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -893,7 +915,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -943,7 +965,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1006,7 +1028,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1060,7 +1082,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1122,7 +1144,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1176,7 +1198,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1224,7 +1246,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1272,7 +1294,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1320,7 +1342,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1368,7 +1390,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1416,7 +1438,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1466,7 +1488,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1510,7 +1532,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1554,7 +1576,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1599,7 +1621,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1648,7 +1670,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1698,7 +1720,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1744,7 +1766,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1794,7 +1816,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1854,7 +1876,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
       "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
     },
@@ -1908,7 +1930,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1964,7 +1986,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -2016,7 +2038,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -2077,7 +2099,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
diff --git a/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json b/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json
index 997a68e..c112a3b 100644
--- a/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json
+++ b/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json
@@ -281,6 +281,28 @@
     "timeout": 600.0
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Initialize logs"
   },
@@ -404,7 +426,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -445,7 +467,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -486,7 +508,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -528,7 +550,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -570,7 +592,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -619,7 +641,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -682,7 +704,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -724,7 +746,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -767,7 +789,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -809,7 +831,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -851,7 +873,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -893,7 +915,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -943,7 +965,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1006,7 +1028,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1060,7 +1082,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1122,7 +1144,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1176,7 +1198,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1224,7 +1246,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1272,7 +1294,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1320,7 +1342,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1368,7 +1390,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1416,7 +1438,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1466,7 +1488,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1510,7 +1532,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1554,7 +1576,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1599,7 +1621,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1648,7 +1670,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1698,7 +1720,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1744,7 +1766,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1794,7 +1816,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1852,7 +1874,7 @@
       "LUCI_PR": "",
       "OS": "darwin",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
       "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
     },
diff --git a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
index ca52d74..01b0c81 100644
--- a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
+++ b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
@@ -242,6 +242,28 @@
     "timeout": 600.0
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Initialize logs"
   },
@@ -365,7 +387,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -406,7 +428,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -447,7 +469,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -489,7 +511,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -531,7 +553,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -573,7 +595,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -623,7 +645,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -688,7 +710,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -742,7 +764,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -804,7 +826,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -857,7 +879,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -904,7 +926,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -951,7 +973,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -998,7 +1020,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1045,7 +1067,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1096,7 +1118,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1140,7 +1162,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1192,7 +1214,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1242,7 +1264,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1288,7 +1310,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1338,7 +1360,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
     },
     "env_prefixes": {
@@ -1396,7 +1418,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
       "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
     },
diff --git a/recipes/engine/web_engine_framework.expected/linux-pre-submit.json b/recipes/engine/web_engine_framework.expected/linux-pre-submit.json
index 87b162b..ebc3e57 100644
--- a/recipes/engine/web_engine_framework.expected/linux-pre-submit.json
+++ b/recipes/engine/web_engine_framework.expected/linux-pre-submit.json
@@ -1269,6 +1269,34 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[CACHE]/flutter",
+    "env": {
+      "ENGINE_PATH": "[CACHE]/builder",
+      "FLUTTER_PREBUILT_DART_SDK": "True",
+      "GOMA_DIR": "[CACHE]/goma/client"
+    },
+    "env_prefixes": {
+      "PATH": [
+        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+      ]
+    },
+    "env_suffixes": {
+      "DEPOT_TOOLS_UPDATE": [
+        "0"
+      ],
+      "PATH": [
+        "RECIPE_REPO[depot_tools]"
+      ]
+    },
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Chrome and driver dependency"
   },
diff --git a/recipes/firebaselab/firebaselab.expected/basic.json b/recipes/firebaselab/firebaselab.expected/basic.json
index caa03ad..d364f65 100644
--- a/recipes/firebaselab/firebaselab.expected/basic.json
+++ b/recipes/firebaselab/firebaselab.expected/basic.json
@@ -112,6 +112,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor",
       "-v"
diff --git a/recipes/firebaselab/firebaselab.expected/failure 10.json b/recipes/firebaselab/firebaselab.expected/failure 10.json
index 74adef4..3b3513c 100644
--- a/recipes/firebaselab/firebaselab.expected/failure 10.json
+++ b/recipes/firebaselab/firebaselab.expected/failure 10.json
@@ -112,6 +112,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor",
       "-v"
diff --git a/recipes/firebaselab/firebaselab.expected/failure 15.json b/recipes/firebaselab/firebaselab.expected/failure 15.json
index 74adef4..3b3513c 100644
--- a/recipes/firebaselab/firebaselab.expected/failure 15.json
+++ b/recipes/firebaselab/firebaselab.expected/failure 15.json
@@ -112,6 +112,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor",
       "-v"
diff --git a/recipes/flutter/android_views.expected/flutter_drive_clean_exit.json b/recipes/flutter/android_views.expected/flutter_drive_clean_exit.json
index 18b067d..2050fa8 100644
--- a/recipes/flutter/android_views.expected/flutter_drive_clean_exit.json
+++ b/recipes/flutter/android_views.expected/flutter_drive_clean_exit.json
@@ -146,6 +146,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
diff --git a/recipes/flutter/android_views.expected/flutter_drive_zombie_process.json b/recipes/flutter/android_views.expected/flutter_drive_zombie_process.json
index d30c207..f74261e 100644
--- a/recipes/flutter/android_views.expected/flutter_drive_zombie_process.json
+++ b/recipes/flutter/android_views.expected/flutter_drive_zombie_process.json
@@ -146,6 +146,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
diff --git a/recipes/flutter/deferred_components.expected/flutter_release_clean_exit.json b/recipes/flutter/deferred_components.expected/flutter_release_clean_exit.json
index ce6309d..a5983b1 100644
--- a/recipes/flutter/deferred_components.expected/flutter_release_clean_exit.json
+++ b/recipes/flutter/deferred_components.expected/flutter_release_clean_exit.json
@@ -146,6 +146,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
diff --git a/recipes/flutter/deferred_components.expected/flutter_release_zombie_process.json b/recipes/flutter/deferred_components.expected/flutter_release_zombie_process.json
index c5b1b8a..cede2d0 100644
--- a/recipes/flutter/deferred_components.expected/flutter_release_zombie_process.json
+++ b/recipes/flutter/deferred_components.expected/flutter_release_zombie_process.json
@@ -146,6 +146,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
diff --git a/recipes/flutter/flutter.expected/validators.json b/recipes/flutter/flutter.expected/validators.json
index 8f6b668..9f3f0de 100644
--- a/recipes/flutter/flutter.expected/validators.json
+++ b/recipes/flutter/flutter.expected/validators.json
@@ -130,6 +130,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter sdk",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "prepare environment"
   },
diff --git a/recipes/flutter/flutter_drone.expected/android_sdk.json b/recipes/flutter/flutter_drone.expected/android_sdk.json
index f25b498..f30b223 100644
--- a/recipes/flutter/flutter_drone.expected/android_sdk.json
+++ b/recipes/flutter/flutter_drone.expected/android_sdk.json
@@ -124,6 +124,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
diff --git a/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json b/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json
index 1fe8381..a63c0ca 100644
--- a/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json
@@ -124,6 +124,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "cipd",
       "ensure",
       "-root",
diff --git a/recipes/flutter/flutter_drone.expected/no_requirements.json b/recipes/flutter/flutter_drone.expected/no_requirements.json
index c8c70b5..c94cc62 100644
--- a/recipes/flutter/flutter_drone.expected/no_requirements.json
+++ b/recipes/flutter/flutter_drone.expected/no_requirements.json
@@ -124,6 +124,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "update-packages"
     ],
diff --git a/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json b/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json
index afe05f6..1884286 100644
--- a/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json
@@ -124,6 +124,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "update-packages"
     ],
diff --git a/recipes/flutter/flutter_drone.expected/web_engine.json b/recipes/flutter/flutter_drone.expected/web_engine.json
index 656e5d6..8ea1ed5 100644
--- a/recipes/flutter/flutter_drone.expected/web_engine.json
+++ b/recipes/flutter/flutter_drone.expected/web_engine.json
@@ -124,6 +124,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "update-packages"
     ],
diff --git a/recipes/flutter/flutter_drone.expected/web_engine_reduced.json b/recipes/flutter/flutter_drone.expected/web_engine_reduced.json
index 3573475..377d4eb 100644
--- a/recipes/flutter/flutter_drone.expected/web_engine_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/web_engine_reduced.json
@@ -124,6 +124,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "update-packages"
     ],
diff --git a/recipes/flutter/flutter_drone.expected/xcode.json b/recipes/flutter/flutter_drone.expected/xcode.json
index c8c70b5..c94cc62 100644
--- a/recipes/flutter/flutter_drone.expected/xcode.json
+++ b/recipes/flutter/flutter_drone.expected/xcode.json
@@ -124,6 +124,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "update-packages"
     ],
diff --git a/recipes/flutter/flutter_drone.expected/xcode_reduced.json b/recipes/flutter/flutter_drone.expected/xcode_reduced.json
index afe05f6..1884286 100644
--- a/recipes/flutter/flutter_drone.expected/xcode_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/xcode_reduced.json
@@ -124,6 +124,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "update-packages"
     ],
diff --git a/recipes/fuchsia/fuchsia.expected/basic.json b/recipes/fuchsia/fuchsia.expected/basic.json
index 0d14a0f..bbed8fa 100644
--- a/recipes/fuchsia/fuchsia.expected/basic.json
+++ b/recipes/fuchsia/fuchsia.expected/basic.json
@@ -111,6 +111,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Fuchsia Tests"
   },
diff --git a/recipes/infra/ci_yaml.expected/basic.json b/recipes/infra/ci_yaml.expected/basic.json
index 84a5a9f..e384662 100644
--- a/recipes/infra/ci_yaml.expected/basic.json
+++ b/recipes/infra/ci_yaml.expected/basic.json
@@ -626,6 +626,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
@@ -638,7 +660,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -676,7 +698,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -715,7 +737,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -758,7 +780,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -944,7 +966,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "git rev-parse",
+    "name": "git rev-parse (2)",
     "timeout": 60.0
   },
   {
diff --git a/recipes/infra/ci_yaml.expected/presubmit.json b/recipes/infra/ci_yaml.expected/presubmit.json
index d2c3699..c2be2f2 100644
--- a/recipes/infra/ci_yaml.expected/presubmit.json
+++ b/recipes/infra/ci_yaml.expected/presubmit.json
@@ -626,6 +626,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:try"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/infra/ci_yaml.expected/release.json b/recipes/infra/ci_yaml.expected/release.json
index 3afd97c..171fd73 100644
--- a/recipes/infra/ci_yaml.expected/release.json
+++ b/recipes/infra/ci_yaml.expected/release.json
@@ -626,6 +626,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:prod"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
@@ -638,7 +660,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -676,7 +698,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -715,7 +737,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -758,7 +780,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -944,7 +966,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "git rev-parse",
+    "name": "git rev-parse (2)",
     "timeout": 60.0
   },
   {
diff --git a/recipes/infra/ci_yaml.expected/staging.json b/recipes/infra/ci_yaml.expected/staging.json
index 27f6cff..5de496f 100644
--- a/recipes/infra/ci_yaml.expected/staging.json
+++ b/recipes/infra/ci_yaml.expected/staging.json
@@ -626,6 +626,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:staging"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
@@ -638,7 +660,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -676,7 +698,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -715,7 +737,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -758,7 +780,7 @@
       "LUCI_PR": "",
       "OS": "linux",
       "PUB_CACHE": "[START_DIR]/.pub-cache",
-      "REVISION": "abc123",
+      "REVISION": "",
       "SDK_CHECKOUT_PATH": "[START_DIR]/flutter"
     },
     "env_prefixes": {
@@ -944,7 +966,7 @@
         "hostname": "rdbhost"
       }
     },
-    "name": "git rev-parse",
+    "name": "git rev-parse (2)",
     "timeout": 60.0
   },
   {
diff --git a/recipes/infra/test_ownership.expected/basic.json b/recipes/infra/test_ownership.expected/basic.json
index 1666822..7ab7cde 100644
--- a/recipes/infra/test_ownership.expected/basic.json
+++ b/recipes/infra/test_ownership.expected/basic.json
@@ -233,6 +233,16 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packages/packages.expected/master_channel.json b/recipes/packages/packages.expected/master_channel.json
index 3b35a45..29fa02f 100644
--- a/recipes/packages/packages.expected/master_channel.json
+++ b/recipes/packages/packages.expected/master_channel.json
@@ -251,6 +251,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Dependencies"
   },
diff --git a/recipes/packages/packages.expected/stable_channel.json b/recipes/packages/packages.expected/stable_channel.json
index ecdb822..c166a74 100644
--- a/recipes/packages/packages.expected/stable_channel.json
+++ b/recipes/packages/packages.expected/stable_channel.json
@@ -232,6 +232,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Dependencies"
   },
diff --git a/recipes/packaging/packaging.expected/linux_beta.json b/recipes/packaging/packaging.expected/linux_beta.json
index 096f358..73d3538 100644
--- a/recipes/packaging/packaging.expected/linux_beta.json
+++ b/recipes/packaging/packaging.expected/linux_beta.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_beta_cosign.json b/recipes/packaging/packaging.expected/linux_beta_cosign.json
index 521dfc9..b147d67 100644
--- a/recipes/packaging/packaging.expected/linux_beta_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_beta_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_beta_experimental.json b/recipes/packaging/packaging.expected/linux_beta_experimental.json
index 4696281..3af5cd9 100644
--- a/recipes/packaging/packaging.expected/linux_beta_experimental.json
+++ b/recipes/packaging/packaging.expected/linux_beta_experimental.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_beta_experimental_cosign.json b/recipes/packaging/packaging.expected/linux_beta_experimental_cosign.json
index 1305c78..d93a1fe 100644
--- a/recipes/packaging/packaging.expected/linux_beta_experimental_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_beta_experimental_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_beta_experimental_upload.json b/recipes/packaging/packaging.expected/linux_beta_experimental_upload.json
index 4696281..3af5cd9 100644
--- a/recipes/packaging/packaging.expected/linux_beta_experimental_upload.json
+++ b/recipes/packaging/packaging.expected/linux_beta_experimental_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_beta_experimental_upload_cosign.json b/recipes/packaging/packaging.expected/linux_beta_experimental_upload_cosign.json
index 1305c78..d93a1fe 100644
--- a/recipes/packaging/packaging.expected/linux_beta_experimental_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_beta_experimental_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_beta_upload.json b/recipes/packaging/packaging.expected/linux_beta_upload.json
index 096f358..73d3538 100644
--- a/recipes/packaging/packaging.expected/linux_beta_upload.json
+++ b/recipes/packaging/packaging.expected/linux_beta_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_beta_upload_cosign.json b/recipes/packaging/packaging.expected/linux_beta_upload_cosign.json
index 521dfc9..b147d67 100644
--- a/recipes/packaging/packaging.expected/linux_beta_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_beta_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_master.json b/recipes/packaging/packaging.expected/linux_master.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/linux_master.json
+++ b/recipes/packaging/packaging.expected/linux_master.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/linux_master_cosign.json b/recipes/packaging/packaging.expected/linux_master_cosign.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/linux_master_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_master_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/linux_master_experimental.json b/recipes/packaging/packaging.expected/linux_master_experimental.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/linux_master_experimental.json
+++ b/recipes/packaging/packaging.expected/linux_master_experimental.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/linux_master_experimental_cosign.json b/recipes/packaging/packaging.expected/linux_master_experimental_cosign.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/linux_master_experimental_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_master_experimental_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/linux_master_experimental_upload.json b/recipes/packaging/packaging.expected/linux_master_experimental_upload.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/linux_master_experimental_upload.json
+++ b/recipes/packaging/packaging.expected/linux_master_experimental_upload.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/linux_master_experimental_upload_cosign.json b/recipes/packaging/packaging.expected/linux_master_experimental_upload_cosign.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/linux_master_experimental_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_master_experimental_upload_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/linux_master_upload.json b/recipes/packaging/packaging.expected/linux_master_upload.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/linux_master_upload.json
+++ b/recipes/packaging/packaging.expected/linux_master_upload.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/linux_master_upload_cosign.json b/recipes/packaging/packaging.expected/linux_master_upload_cosign.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/linux_master_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_master_upload_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/linux_stable.json b/recipes/packaging/packaging.expected/linux_stable.json
index d1a2f70..54d49ac 100644
--- a/recipes/packaging/packaging.expected/linux_stable.json
+++ b/recipes/packaging/packaging.expected/linux_stable.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_stable_cosign.json b/recipes/packaging/packaging.expected/linux_stable_cosign.json
index b954028..9a61255 100644
--- a/recipes/packaging/packaging.expected/linux_stable_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_stable_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_stable_experimental.json b/recipes/packaging/packaging.expected/linux_stable_experimental.json
index 35b59ce..c44e742 100644
--- a/recipes/packaging/packaging.expected/linux_stable_experimental.json
+++ b/recipes/packaging/packaging.expected/linux_stable_experimental.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_stable_experimental_cosign.json b/recipes/packaging/packaging.expected/linux_stable_experimental_cosign.json
index 4537310..ab9e131 100644
--- a/recipes/packaging/packaging.expected/linux_stable_experimental_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_stable_experimental_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_stable_experimental_upload.json b/recipes/packaging/packaging.expected/linux_stable_experimental_upload.json
index 35b59ce..c44e742 100644
--- a/recipes/packaging/packaging.expected/linux_stable_experimental_upload.json
+++ b/recipes/packaging/packaging.expected/linux_stable_experimental_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_stable_experimental_upload_cosign.json b/recipes/packaging/packaging.expected/linux_stable_experimental_upload_cosign.json
index 4537310..ab9e131 100644
--- a/recipes/packaging/packaging.expected/linux_stable_experimental_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_stable_experimental_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_stable_upload.json b/recipes/packaging/packaging.expected/linux_stable_upload.json
index d1a2f70..54d49ac 100644
--- a/recipes/packaging/packaging.expected/linux_stable_upload.json
+++ b/recipes/packaging/packaging.expected/linux_stable_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/linux_stable_upload_cosign.json b/recipes/packaging/packaging.expected/linux_stable_upload_cosign.json
index b954028..9a61255 100644
--- a/recipes/packaging/packaging.expected/linux_stable_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/linux_stable_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_beta.json b/recipes/packaging/packaging.expected/mac_beta.json
index 2a93ee4..0bc972c 100644
--- a/recipes/packaging/packaging.expected/mac_beta.json
+++ b/recipes/packaging/packaging.expected/mac_beta.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_beta_cosign.json b/recipes/packaging/packaging.expected/mac_beta_cosign.json
index 40185f3..d22d28b 100644
--- a/recipes/packaging/packaging.expected/mac_beta_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_beta_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_beta_experimental.json b/recipes/packaging/packaging.expected/mac_beta_experimental.json
index e497535..0edfc6e 100644
--- a/recipes/packaging/packaging.expected/mac_beta_experimental.json
+++ b/recipes/packaging/packaging.expected/mac_beta_experimental.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_beta_experimental_cosign.json b/recipes/packaging/packaging.expected/mac_beta_experimental_cosign.json
index 4a64cae..ae3bf20 100644
--- a/recipes/packaging/packaging.expected/mac_beta_experimental_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_beta_experimental_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_beta_experimental_upload.json b/recipes/packaging/packaging.expected/mac_beta_experimental_upload.json
index e497535..0edfc6e 100644
--- a/recipes/packaging/packaging.expected/mac_beta_experimental_upload.json
+++ b/recipes/packaging/packaging.expected/mac_beta_experimental_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_beta_experimental_upload_cosign.json b/recipes/packaging/packaging.expected/mac_beta_experimental_upload_cosign.json
index 4a64cae..ae3bf20 100644
--- a/recipes/packaging/packaging.expected/mac_beta_experimental_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_beta_experimental_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_beta_upload.json b/recipes/packaging/packaging.expected/mac_beta_upload.json
index 2a93ee4..0bc972c 100644
--- a/recipes/packaging/packaging.expected/mac_beta_upload.json
+++ b/recipes/packaging/packaging.expected/mac_beta_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_beta_upload_cosign.json b/recipes/packaging/packaging.expected/mac_beta_upload_cosign.json
index 40185f3..d22d28b 100644
--- a/recipes/packaging/packaging.expected/mac_beta_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_beta_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_master.json b/recipes/packaging/packaging.expected/mac_master.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/mac_master.json
+++ b/recipes/packaging/packaging.expected/mac_master.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/mac_master_cosign.json b/recipes/packaging/packaging.expected/mac_master_cosign.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/mac_master_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_master_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/mac_master_experimental.json b/recipes/packaging/packaging.expected/mac_master_experimental.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/mac_master_experimental.json
+++ b/recipes/packaging/packaging.expected/mac_master_experimental.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/mac_master_experimental_cosign.json b/recipes/packaging/packaging.expected/mac_master_experimental_cosign.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/mac_master_experimental_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_master_experimental_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/mac_master_experimental_upload.json b/recipes/packaging/packaging.expected/mac_master_experimental_upload.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/mac_master_experimental_upload.json
+++ b/recipes/packaging/packaging.expected/mac_master_experimental_upload.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/mac_master_experimental_upload_cosign.json b/recipes/packaging/packaging.expected/mac_master_experimental_upload_cosign.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/mac_master_experimental_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_master_experimental_upload_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/mac_master_upload.json b/recipes/packaging/packaging.expected/mac_master_upload.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/mac_master_upload.json
+++ b/recipes/packaging/packaging.expected/mac_master_upload.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/mac_master_upload_cosign.json b/recipes/packaging/packaging.expected/mac_master_upload_cosign.json
index fa87edb..0350aa4 100644
--- a/recipes/packaging/packaging.expected/mac_master_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_master_upload_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/mac_stable.json b/recipes/packaging/packaging.expected/mac_stable.json
index 77f81c3..101d9bc 100644
--- a/recipes/packaging/packaging.expected/mac_stable.json
+++ b/recipes/packaging/packaging.expected/mac_stable.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_stable_cosign.json b/recipes/packaging/packaging.expected/mac_stable_cosign.json
index e0e5da8..baab111 100644
--- a/recipes/packaging/packaging.expected/mac_stable_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_stable_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_stable_experimental.json b/recipes/packaging/packaging.expected/mac_stable_experimental.json
index 85e00db..050fb02 100644
--- a/recipes/packaging/packaging.expected/mac_stable_experimental.json
+++ b/recipes/packaging/packaging.expected/mac_stable_experimental.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_stable_experimental_cosign.json b/recipes/packaging/packaging.expected/mac_stable_experimental_cosign.json
index 1267763..85c6b5a 100644
--- a/recipes/packaging/packaging.expected/mac_stable_experimental_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_stable_experimental_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_stable_experimental_upload.json b/recipes/packaging/packaging.expected/mac_stable_experimental_upload.json
index 85e00db..050fb02 100644
--- a/recipes/packaging/packaging.expected/mac_stable_experimental_upload.json
+++ b/recipes/packaging/packaging.expected/mac_stable_experimental_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_stable_experimental_upload_cosign.json b/recipes/packaging/packaging.expected/mac_stable_experimental_upload_cosign.json
index 1267763..85c6b5a 100644
--- a/recipes/packaging/packaging.expected/mac_stable_experimental_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_stable_experimental_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_stable_upload.json b/recipes/packaging/packaging.expected/mac_stable_upload.json
index 77f81c3..101d9bc 100644
--- a/recipes/packaging/packaging.expected/mac_stable_upload.json
+++ b/recipes/packaging/packaging.expected/mac_stable_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/mac_stable_upload_cosign.json b/recipes/packaging/packaging.expected/mac_stable_upload_cosign.json
index e0e5da8..baab111 100644
--- a/recipes/packaging/packaging.expected/mac_stable_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/mac_stable_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_beta.json b/recipes/packaging/packaging.expected/win_beta.json
index 64cac0b..67d3b4a 100644
--- a/recipes/packaging/packaging.expected/win_beta.json
+++ b/recipes/packaging/packaging.expected/win_beta.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_beta_cosign.json b/recipes/packaging/packaging.expected/win_beta_cosign.json
index 2143a54..356ea42 100644
--- a/recipes/packaging/packaging.expected/win_beta_cosign.json
+++ b/recipes/packaging/packaging.expected/win_beta_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_beta_experimental.json b/recipes/packaging/packaging.expected/win_beta_experimental.json
index 60bdf37..c1d15b2 100644
--- a/recipes/packaging/packaging.expected/win_beta_experimental.json
+++ b/recipes/packaging/packaging.expected/win_beta_experimental.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_beta_experimental_cosign.json b/recipes/packaging/packaging.expected/win_beta_experimental_cosign.json
index 37beb9b..b656a69 100644
--- a/recipes/packaging/packaging.expected/win_beta_experimental_cosign.json
+++ b/recipes/packaging/packaging.expected/win_beta_experimental_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_beta_experimental_upload.json b/recipes/packaging/packaging.expected/win_beta_experimental_upload.json
index 60bdf37..c1d15b2 100644
--- a/recipes/packaging/packaging.expected/win_beta_experimental_upload.json
+++ b/recipes/packaging/packaging.expected/win_beta_experimental_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_beta_experimental_upload_cosign.json b/recipes/packaging/packaging.expected/win_beta_experimental_upload_cosign.json
index 37beb9b..b656a69 100644
--- a/recipes/packaging/packaging.expected/win_beta_experimental_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/win_beta_experimental_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_beta_upload.json b/recipes/packaging/packaging.expected/win_beta_upload.json
index 64cac0b..67d3b4a 100644
--- a/recipes/packaging/packaging.expected/win_beta_upload.json
+++ b/recipes/packaging/packaging.expected/win_beta_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_beta_upload_cosign.json b/recipes/packaging/packaging.expected/win_beta_upload_cosign.json
index 2143a54..356ea42 100644
--- a/recipes/packaging/packaging.expected/win_beta_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/win_beta_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_master.json b/recipes/packaging/packaging.expected/win_master.json
index 71bf7b9..ca7a88b 100644
--- a/recipes/packaging/packaging.expected/win_master.json
+++ b/recipes/packaging/packaging.expected/win_master.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/win_master_cosign.json b/recipes/packaging/packaging.expected/win_master_cosign.json
index 71bf7b9..ca7a88b 100644
--- a/recipes/packaging/packaging.expected/win_master_cosign.json
+++ b/recipes/packaging/packaging.expected/win_master_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/win_master_experimental.json b/recipes/packaging/packaging.expected/win_master_experimental.json
index 71bf7b9..ca7a88b 100644
--- a/recipes/packaging/packaging.expected/win_master_experimental.json
+++ b/recipes/packaging/packaging.expected/win_master_experimental.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/win_master_experimental_cosign.json b/recipes/packaging/packaging.expected/win_master_experimental_cosign.json
index 71bf7b9..ca7a88b 100644
--- a/recipes/packaging/packaging.expected/win_master_experimental_cosign.json
+++ b/recipes/packaging/packaging.expected/win_master_experimental_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/win_master_experimental_upload.json b/recipes/packaging/packaging.expected/win_master_experimental_upload.json
index 71bf7b9..ca7a88b 100644
--- a/recipes/packaging/packaging.expected/win_master_experimental_upload.json
+++ b/recipes/packaging/packaging.expected/win_master_experimental_upload.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/win_master_experimental_upload_cosign.json b/recipes/packaging/packaging.expected/win_master_experimental_upload_cosign.json
index 71bf7b9..ca7a88b 100644
--- a/recipes/packaging/packaging.expected/win_master_experimental_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/win_master_experimental_upload_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/win_master_upload.json b/recipes/packaging/packaging.expected/win_master_upload.json
index 71bf7b9..ca7a88b 100644
--- a/recipes/packaging/packaging.expected/win_master_upload.json
+++ b/recipes/packaging/packaging.expected/win_master_upload.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/win_master_upload_cosign.json b/recipes/packaging/packaging.expected/win_master_upload_cosign.json
index 71bf7b9..ca7a88b 100644
--- a/recipes/packaging/packaging.expected/win_master_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/win_master_upload_cosign.json
@@ -404,6 +404,28 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
     "failure": {
       "failure": {},
       "humanReason": "could not determine the release branch: either \"release_ref\" or \"git_ref\" properties should be set when manually triggering builds"
diff --git a/recipes/packaging/packaging.expected/win_stable.json b/recipes/packaging/packaging.expected/win_stable.json
index a7f5543..fa7ec7d 100644
--- a/recipes/packaging/packaging.expected/win_stable.json
+++ b/recipes/packaging/packaging.expected/win_stable.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_stable_cosign.json b/recipes/packaging/packaging.expected/win_stable_cosign.json
index c146418..1bef79f 100644
--- a/recipes/packaging/packaging.expected/win_stable_cosign.json
+++ b/recipes/packaging/packaging.expected/win_stable_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_stable_experimental.json b/recipes/packaging/packaging.expected/win_stable_experimental.json
index 711626b..a58c3cd 100644
--- a/recipes/packaging/packaging.expected/win_stable_experimental.json
+++ b/recipes/packaging/packaging.expected/win_stable_experimental.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_stable_experimental_cosign.json b/recipes/packaging/packaging.expected/win_stable_experimental_cosign.json
index 4d95ef5..9abca54 100644
--- a/recipes/packaging/packaging.expected/win_stable_experimental_cosign.json
+++ b/recipes/packaging/packaging.expected/win_stable_experimental_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_stable_experimental_upload.json b/recipes/packaging/packaging.expected/win_stable_experimental_upload.json
index 711626b..a58c3cd 100644
--- a/recipes/packaging/packaging.expected/win_stable_experimental_upload.json
+++ b/recipes/packaging/packaging.expected/win_stable_experimental_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_stable_experimental_upload_cosign.json b/recipes/packaging/packaging.expected/win_stable_experimental_upload_cosign.json
index 4d95ef5..9abca54 100644
--- a/recipes/packaging/packaging.expected/win_stable_experimental_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/win_stable_experimental_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_stable_upload.json b/recipes/packaging/packaging.expected/win_stable_upload.json
index a7f5543..fa7ec7d 100644
--- a/recipes/packaging/packaging.expected/win_stable_upload.json
+++ b/recipes/packaging/packaging.expected/win_stable_upload.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/packaging/packaging.expected/win_stable_upload_cosign.json b/recipes/packaging/packaging.expected/win_stable_upload_cosign.json
index c146418..1bef79f 100644
--- a/recipes/packaging/packaging.expected/win_stable_upload_cosign.json
+++ b/recipes/packaging/packaging.expected/win_stable_upload_cosign.json
@@ -405,6 +405,28 @@
   },
   {
     "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]\\flutter",
+    "infra_step": true,
+    "luci_context": {
+      "realm": {
+        "name": "project:ci"
+      },
+      "resultdb": {
+        "current_invocation": {
+          "name": "invocations/build:8945511751514863184",
+          "update_token": "token"
+        },
+        "hostname": "rdbhost"
+      }
+    },
+    "name": "git rev-parse"
+  },
+  {
+    "cmd": [
       "flutter.bat",
       "doctor"
     ],
diff --git a/recipes/plugins/plugins.expected/master_channel.json b/recipes/plugins/plugins.expected/master_channel.json
index 0eb8092..00ca1d2 100644
--- a/recipes/plugins/plugins.expected/master_channel.json
+++ b/recipes/plugins/plugins.expected/master_channel.json
@@ -251,6 +251,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Dependencies"
   },
diff --git a/recipes/plugins/plugins.expected/stable_channel.json b/recipes/plugins/plugins.expected/stable_channel.json
index cfa548c..6f68d61 100644
--- a/recipes/plugins/plugins.expected/stable_channel.json
+++ b/recipes/plugins/plugins.expected/stable_channel.json
@@ -232,6 +232,16 @@
     ]
   },
   {
+    "cmd": [
+      "git",
+      "rev-parse",
+      "HEAD"
+    ],
+    "cwd": "[START_DIR]/flutter",
+    "infra_step": true,
+    "name": "git rev-parse"
+  },
+  {
     "cmd": [],
     "name": "Dependencies"
   },