From 20bb058f06265dc559d8b8abfd7ea95db84a1f5e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 21 Sep 2018 15:58:30 +0200 Subject: [PATCH] [FIX] runbot_merge: make staging cancels more greppable I just spent 10mn trying to find out why staging 28 was cancelled (a p=0 comment). Add a common prefix to all staging cancels to make them easier to find. --- runbot_merge/controllers/__init__.py | 8 ++++---- runbot_merge/models/pull_requests.py | 4 ++-- runbot_merge/tests/fake_github/__init__.py | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/runbot_merge/controllers/__init__.py b/runbot_merge/controllers/__init__.py index 42bbabda..23b65317 100644 --- a/runbot_merge/controllers/__init__.py +++ b/runbot_merge/controllers/__init__.py @@ -153,9 +153,9 @@ def handle_pr(env, event): if pr_obj.state == 'ready': pr_obj.staging_id.cancel( - "Updated PR %s:%s, removing staging %s", + "PR %s:%s updated by %s", pr_obj.repository.name, pr_obj.number, - pr_obj.staging_id, + event['sender']['login'] ) if pr_obj.state != 'error': pr_obj.state = 'opened' @@ -168,9 +168,9 @@ def handle_pr(env, event): if event['action'] == 'closed' and pr_obj.state != 'merged': pr_obj.state = 'closed' pr_obj.staging_id.cancel( - "Closed PR %s:%s, removing staging %s", + "PR %s:%s closed by %s", pr_obj.repository.name, pr_obj.number, - pr_obj.staging_id + event['sender']['login'] ) return 'Closed {}'.format(pr_obj.id) diff --git a/runbot_merge/models/pull_requests.py b/runbot_merge/models/pull_requests.py index 93edeb12..d607b4bd 100644 --- a/runbot_merge/models/pull_requests.py +++ b/runbot_merge/models/pull_requests.py @@ -564,7 +564,7 @@ class PullRequests(models.Model): self.priority = param if param == 0: self.target.active_staging_id.cancel( - "P=0 on %s:%s by %s, unstaging %s", + "P=0 on %s:%s by %s, unstaging target %s", self.repository.name, self.number, author.github_login, self.target.name, ) @@ -821,7 +821,7 @@ class Stagings(models.Model): if not self: return - _logger.info(reason, *args) + _logger.info("Cancelling staging %s: " + reason, self, *args) self.batch_ids.write({'active': False}) self.active = False diff --git a/runbot_merge/tests/fake_github/__init__.py b/runbot_merge/tests/fake_github/__init__.py index 695aeeee..5d39b66f 100644 --- a/runbot_merge/tests/fake_github/__init__.py +++ b/runbot_merge/tests/fake_github/__init__.py @@ -702,6 +702,7 @@ class Client(werkzeug.test.Client): 'action': action, 'pull_request': self._pr(pr), 'repository': self._repo(pr.repo.name), + 'sender': {'login': '<>'}, **({'changes': changes} if changes else {}) } ))