git cl: record additional tag for builds triggered via retry-failed.

Tag is the same as used by Gerrit plugin for the same functionality:
  retry_failed:1

R=ehmaldonado

Change-Id: I14ef435b676088c86ae7cc0536c6a68fa58bd89f
Bug: 445502
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1848258
Commit-Queue: Andrii Shyshkalov <tandrii@google.com>
Auto-Submit: Andrii Shyshkalov <tandrii@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
diff --git a/tests/git_cl_test.py b/tests/git_cl_test.py
index 9639726..1a2612f 100755
--- a/tests/git_cl_test.py
+++ b/tests/git_cl_test.py
@@ -3176,6 +3176,59 @@
         'WARNING Could not parse bucket "not-a-bucket". Skipping.',
         git_cl.sys.stdout.getvalue())
 
+  @mock.patch('git_cl._call_buildbucket')
+  @mock.patch('git_cl.fetch_try_jobs')
+  def testScheduleOnBuildbucketRetryFailed(
+      self, mockFetchTryJobs, mockCallBuildbucket):
+
+    git_cl.fetch_try_jobs.side_effect = lambda *_, **kw: {
+        7: [],
+        6: [{
+            'id': 112112,
+            'builder': {
+                'project': 'chromium',
+                'bucket': 'try',
+                'builder': 'linux',
+            },
+            'status': 'FAILURE',
+        }],
+    }[kw['patchset']]
+    mockCallBuildbucket.return_value = {}
+
+    self.assertEqual(0, git_cl.main(['try', '--retry-failed']))
+    self.assertIn(
+        'Scheduling jobs on:\nBucket: chromium/try',
+        git_cl.sys.stdout.getvalue())
+
+    expected_request = {
+        "requests": [{
+            "scheduleBuild": {
+                "requestId": "uuid4",
+                "builder": {
+                    "project": "chromium",
+                    "bucket": "try",
+                    "builder": "linux",
+                },
+                "gerritChanges": [{
+                    "project": "depot_tools",
+                    "host": "chromium-review.googlesource.com",
+                    "patchset": 7,
+                    "change": 123456,
+                }],
+                "properties": {
+                    "category": "git_cl_try",
+                },
+                "tags": [
+                    {"value": "linux", "key": "builder"},
+                    {"value": "git_cl_try", "key": "user_agent"},
+                    {"value": "1", "key": "retry_failed"},
+                ],
+            },
+        }],
+    }
+    mockCallBuildbucket.assert_called_with(
+        mock.ANY, 'cr-buildbucket.appspot.com', 'Batch', expected_request)
+
   def test_parse_bucket(self):
     test_cases = [
         {