From 2204c0410a449a4dc1b021354f9e88c7ed33fb12 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 7 Jun 2022 15:49:52 +0200 Subject: [PATCH] [IMP] mergebot, forwardbot: various UI bits - code in the various menus added over time through the UI (queues, configuration, ...) - update / improve PR layout a tick - fix "outstanding forward ports" count on the dashboard - improve hover title / help on dashboard - add date of last modification (usually date of success / failure) - make casing more coherent (everything lowercase) - add explicit note that UTC date on staged at label is staged at datetime - rediscover yet again that the staging information is when hovering on the staging *except the staged at label* - improve `PullRequest.unstage` to always insert the PR at the start of the reason when cancelling the staging, for clarity / traceability Closes #560, closes #609 --- forwardport/__manifest__.py | 1 + forwardport/data/queues.xml | 51 +++++++++++++++ forwardport/data/views.xml | 4 ++ runbot_merge/__manifest__.py | 2 + runbot_merge/changelog/2022-06/ui.md | 6 ++ runbot_merge/controllers/__init__.py | 6 +- runbot_merge/models/pull_requests.py | 10 +-- runbot_merge/views/configuration.xml | 43 ++++++++++++ runbot_merge/views/mergebot.xml | 79 +++++++--------------- runbot_merge/views/queues.xml | 97 ++++++++++++++++++++++++++++ runbot_merge/views/templates.xml | 14 ++-- 11 files changed, 241 insertions(+), 72 deletions(-) create mode 100644 forwardport/data/queues.xml create mode 100644 runbot_merge/changelog/2022-06/ui.md create mode 100644 runbot_merge/views/configuration.xml create mode 100644 runbot_merge/views/queues.xml diff --git a/forwardport/__manifest__.py b/forwardport/__manifest__.py index 185f8256..b86c425e 100644 --- a/forwardport/__manifest__.py +++ b/forwardport/__manifest__.py @@ -8,6 +8,7 @@ 'data/security.xml', 'data/crons.xml', 'data/views.xml', + 'data/queues.xml', ], 'license': 'LGPL-3', } diff --git a/forwardport/data/queues.xml b/forwardport/data/queues.xml new file mode 100644 index 00000000..ba011344 --- /dev/null +++ b/forwardport/data/queues.xml @@ -0,0 +1,51 @@ + + + Forward port batches + forwardport.batches + {'active_test': False} + + + Forward port batches + forwardport.batches + + + + + + + + + Forward port batch + forwardport.batches + +
+ + + + +
+
+
+ + + Followup Updates + forwardport.updates + + + Followup Updates + forwardport.updates + + + + + + + + + + +
diff --git a/forwardport/data/views.xml b/forwardport/data/views.xml index ff7f66c9..b7000892 100644 --- a/forwardport/data/views.xml +++ b/forwardport/data/views.xml @@ -12,6 +12,7 @@
@@ -175,6 +176,9 @@ runbot_merge.pull_requests + + + diff --git a/runbot_merge/__manifest__.py b/runbot_merge/__manifest__.py index 8375a3d8..9f44e106 100644 --- a/runbot_merge/__manifest__.py +++ b/runbot_merge/__manifest__.py @@ -10,6 +10,8 @@ 'views/res_partner.xml', 'views/runbot_merge_project.xml', 'views/mergebot.xml', + 'views/queues.xml', + 'views/configuration.xml', 'views/templates.xml', 'models/project_freeze/views.xml', ], diff --git a/runbot_merge/changelog/2022-06/ui.md b/runbot_merge/changelog/2022-06/ui.md new file mode 100644 index 00000000..33a1667c --- /dev/null +++ b/runbot_merge/changelog/2022-06/ui.md @@ -0,0 +1,6 @@ +IMP: various UI items + +- more clearly differentiate between "pending" and "unknown" statuses on stagings +- fix "outstanding forward ports" count +- add date of staging last modification (= success / failure instant) +- correctly retrieve and include fast-forward and unstaging reasons diff --git a/runbot_merge/controllers/__init__.py b/runbot_merge/controllers/__init__.py index 199b4801..d96d703d 100644 --- a/runbot_merge/controllers/__init__.py +++ b/runbot_merge/controllers/__init__.py @@ -171,11 +171,7 @@ def handle_pr(env, event): return "It's my understanding that closed/merged PRs don't get sync'd" if pr_obj.state == 'ready': - pr_obj.unstage( - "PR %s updated by %s", - pr_obj.display_name, - event['sender']['login'] - ) + pr_obj.unstage("updated by %s", event['sender']['login']) _logger.info( "PR %s updated to %s by %s, resetting to 'open' and squash=%s", diff --git a/runbot_merge/models/pull_requests.py b/runbot_merge/models/pull_requests.py index 63a7e3ef..76407ebf 100644 --- a/runbot_merge/models/pull_requests.py +++ b/runbot_merge/models/pull_requests.py @@ -846,7 +846,7 @@ class PullRequests(models.Model): 'pull_request': self.number, 'message': "PR priority reset to 1, as pull requests with priority 0 ignore review state.", }) - self.unstage("unreview (r-) by %s", author.github_login) + self.unstage("unreviewed (r-) by %s", author.github_login) ok = True else: msg = "r- makes no sense in the current PR state." @@ -1349,7 +1349,7 @@ class PullRequests(models.Model): # else remove this batch from the split b.split_id = False - self.staging_id.cancel(reason, *args) + self.staging_id.cancel('%s ' + reason, self.display_name, *args) def _try_closing(self, by): # ignore if the PR is already being updated in a separate transaction @@ -1369,11 +1369,7 @@ class PullRequests(models.Model): ''', [self.id]) self.env.cr.commit() self.modified(['state']) - self.unstage( - "PR %s closed by %s", - self.display_name, - by - ) + self.unstage("closed by %s", by) return True # state changes on reviews diff --git a/runbot_merge/views/configuration.xml b/runbot_merge/views/configuration.xml new file mode 100644 index 00000000..70e8d710 --- /dev/null +++ b/runbot_merge/views/configuration.xml @@ -0,0 +1,43 @@ + + + CI / statuses overrides + res.partner.override + + + Overrides List + res.partner.override + + + + + + + + + + + Review Rights + res.partner.review + {'search_default_group_by_repository': True} + + + Review Rights + res.partner.review + + + + + + + + + + + + + + diff --git a/runbot_merge/views/mergebot.xml b/runbot_merge/views/mergebot.xml index f8922130..34472a5a 100644 --- a/runbot_merge/views/mergebot.xml +++ b/runbot_merge/views/mergebot.xml @@ -97,10 +97,10 @@ - + @@ -108,6 +108,8 @@ + + @@ -205,66 +207,33 @@ - - PRs to fetch - runbot_merge.fetch_job - tree - {'default_active': True} + + Commit Statuses + runbot_merge.commit + tree,form - - Fetches Search - runbot_merge.fetch_job - - - - - - - - - - Fetches Tree - runbot_merge.fetch_job + + commits list + runbot_merge.commit - - - - - - - - CI / statuses overrides - res.partner.override - - - Overrides List - res.partner.override - - - - - + + - - - - - - + + + + diff --git a/runbot_merge/views/queues.xml b/runbot_merge/views/queues.xml new file mode 100644 index 00000000..a72571f3 --- /dev/null +++ b/runbot_merge/views/queues.xml @@ -0,0 +1,97 @@ + + + + Splits + runbot_merge.split + + + Splits + runbot_merge.split + + + + + + + + + + Feedback + runbot_merge.pull_requests.feedback + + + Feedback + runbot_merge.pull_requests.feedback + + + + + + + + + + + + Tagging + runbot_merge.pull_requests.tagging + + + Tagging + runbot_merge.pull_requests.tagging + + + + + + + + + + + + PRs to fetch + runbot_merge.fetch_job + tree + {'default_active': True} + + + Fetches Search + runbot_merge.fetch_job + + + + + + + + + + Fetches Tree + runbot_merge.fetch_job + + + + + + + + + + + + + + diff --git a/runbot_merge/views/templates.xml b/runbot_merge/views/templates.xml index 49e475b3..fab3b1e6 100644 --- a/runbot_merge/views/templates.xml +++ b/runbot_merge/views/templates.xml @@ -135,11 +135,15 @@ visible-lg-block - Cancelled: - Fast Forward Failed - + fast forward failed + last status + -
  • + + + + at Z +
    • @@ -152,7 +156,7 @@