[IMP] runbot_merge: add some logging to controllers

The closing or reopening of PRs was not logged at all, which can be
inconvenient when trying to find out why PRs are closed (or not) in
the backend.

Also leverage PR display_name improvements from
3ce3dd9569 for more regular PR names in
logs.
This commit is contained in:
Xavier Morel 2019-10-14 09:25:21 +02:00
parent 2eb4ece50a
commit cc029c2891

View File

@ -142,14 +142,14 @@ def handle_pr(env, event):
if pr_obj.state == 'ready':
pr_obj.unstage(
"PR %s:%s updated by %s",
pr_obj.repository.name, pr_obj.number,
"PR %s updated by %s",
pr_obj.display_name,
event['sender']['login']
)
_logger.info(
"PR %s:%s updated to %s by %s, resetting to 'open' and squash=%s",
pr_obj.repository.name, pr_obj.number,
"PR %s updated to %s by %s, resetting to 'open' and squash=%s",
pr_obj.display_name,
pr['head']['sha'], event['sender']['login'],
pr['commits'] == 1
)
@ -164,12 +164,19 @@ def handle_pr(env, event):
# don't marked merged PRs as closed (!!!)
if event['action'] == 'closed' and pr_obj.state != 'merged':
# FIXME: store some sort of "try to close it later" if the merge fails?
_logger.info(
'%s closing %s (state=%s)',
event['sender']['login'],
pr_obj.display_name,
pr_obj.state,
)
if pr_obj._try_closing(event['sender']['login']):
return 'Closed {}'.format(pr_obj.id)
else:
return 'Ignored: could not lock rows (probably being merged)'
if event['action'] == 'reopened' and pr_obj.state == 'closed':
_logger.info('%s reopening %s', event['sender']['login'], pr_obj.display_name)
pr_obj.write({
'state': 'opened',
# updating the head triggers a revalidation