Fix setbotcommit comment on ambiguous revision

Add revision number option to gerrit_client.py setbotcommit command. Add
an explicit revision number to a setbotcommit call in the update_files
method.

After creating a new patch-set in the release recipe and verifying it
was created we are adding a comment which could be applied to the
previous patch. Setting `Bot-Commit+1` relied on the default 'current'
revision which may be stale in some Gerrit replicas. This CL applies the
fix suggested in 412739202

Bug: 414681998
Change-Id: I1d380e221864bcf1183c77fa58be4ede9a787ef1
Recipe-Nontrivial-Roll: build_internal
Recipe-Nontrivial-Roll: chrome_release
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6718447
Reviewed-by: Alex Kravchuk <alexanderkr@google.com>
Reviewed-by: Scott Lee <ddoman@chromium.org>
This commit is contained in:
Jacek Dobrowolski
2025-07-18 01:44:06 -07:00
parent e1e23c1e27
commit cece8f8061
3 changed files with 17 additions and 1 deletions

View File

@@ -383,9 +383,18 @@ def CMDgetcommitincludedin(parser, args):
def CMDsetbotcommit(parser, args):
"""Sets bot-commit+1 to a bot generated change."""
parser.add_option('-c', '--change', type=int, help='change number')
parser.add_option(
'-r',
'--revision',
type=str,
default='current',
help='revision ID. See '
'https://gerrit-review.googlesource.com/Documentation/rest-api-changes.html#revision-id ' # pylint: disable=line-too-long
'for acceptable format')
(opt, args) = parser.parse_args(args)
result = gerrit_util.SetReview(urllib.parse.urlparse(opt.host).netloc,
opt.change,
opt.revision,
labels={'Bot-Commit': 1},
ready=True)
logging.info(result)

View File

@@ -558,13 +558,16 @@ class GerritApi(recipe_api.RecipeApi):
publish_command.append('--verbose')
self('publish edit', publish_command)
NEW_PATCHSET_REVISION_NUMBER = 2
# Make sure the new patchset is propagated to Gerrit backend.
with self.m.step.nest('verify the patchset exists on CL %d' % change):
retries = 0
max_retries = 2
while retries <= max_retries:
try:
if self.get_revision_info(host, change, 2):
if self.get_revision_info(host,
change,
patchset=NEW_PATCHSET_REVISION_NUMBER):
break
except self.m.step.InfraFailure:
if retries == max_retries: # pragma: no cover
@@ -580,6 +583,8 @@ class GerritApi(recipe_api.RecipeApi):
host,
'--change',
change,
'--revision',
NEW_PATCHSET_REVISION_NUMBER,
]
if verbose:
set_bot_commit_command.append('--verbose')

View File

@@ -384,6 +384,8 @@
"https://chromium-review.googlesource.com",
"--change",
"91827",
"--revision",
"2",
"--verbose"
],
"env": {