Skip to content

Commit f03d53f

Browse files
committed
[IMP] runbot: add /runbot/next-freeze
tl;dr: redirects to the last bundle tag's summary page.
1 parent a00977c commit f03d53f

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

runbot/controllers/frontend.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import datetime
22
import functools
33
import logging
4+
import re
45
from collections import OrderedDict, defaultdict
56
from subprocess import CalledProcessError
67
from urllib.parse import urlsplit
@@ -908,3 +909,18 @@ def versions(self, **kwargs):
908909
'keys': ['os_version', 'python_version', 'chrome_version', 'psql_version', 'pip_freeze', 'packages'],
909910
}
910911
return request.render('runbot.versions', qctx)
912+
913+
@route([
914+
'/runbot/next-freeze'
915+
], website=True, auth='public', type='http', sitemap=False)
916+
def next_freeze(self, **kwargs):
917+
bundle_tags = self.env['runbot.bundle.tag'].sudo().search([])
918+
icp = self.env['ir.config_parameter'].sudo()
919+
is_base_regex = icp.get_param('runbot.runbot_is_base_regex', r'^((master)|(saas-)?\d+\.\d+)$')
920+
if is_base_regex:
921+
bundle_tags = bundle_tags.sorted(lambda t: re.search(is_base_regex, t.name).group(1) if re.search(is_base_regex, t.name) else '00.0', reverse=True)
922+
next_freeze_tag = bundle_tags[0] if bundle_tags else None
923+
if not next_freeze_tag:
924+
raise NotFound
925+
slug = request.env['ir.http']._slug
926+
return request.redirect(f'/runbot/bundle/tag/{slug(next_freeze_tag)}')

runbot/templates/utils.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@
9090
</a>
9191
</li>
9292
</t>
93+
<li class="nav-item" title="Freeze">
94+
<a class="nav-link" href="/runbot/next-freeze">
95+
<i class="fa fa-snowflake-o"/>
96+
</a>
97+
</li>
9398
<t t-call="runbot.build_errors_link"/>
9499
<li class="nav-item dropdown" t-ignore="true">
95100
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">

0 commit comments

Comments
 (0)