TT#15305 release_dashboard: remove old build process

We no longer use the old way of build projects/releases, lets
remove no used code

Change-Id: Ia39eb72af87f72d0a785ac790f48003e6d9be821
pull/7/head
Victor Seva 3 years ago
parent 28a0d343ef
commit 28d1be9a4c

@ -30,17 +30,6 @@ class ReleaseDashboardConf(AppConf):
"wheezy",
"squeeze",
)
BUILD_DEPS = (
"check-tools",
"data-hal",
"libswrate",
"sipwise-base",
"mediaproxy-ng",
"ngcp-schema",
"rtpengine",
"libtcap",
"libinewrate",
)
PROJECTS = (
"acc-cdi",
"asterisk",
@ -149,26 +138,6 @@ class ReleaseDashboardConf(AppConf):
"www_admin",
"www_csc",
)
ABANDONED = (
"asterisk",
"asterisk-sounds",
"cloudpbx-devices",
"collectd-mod-redis",
"comx",
"comx-sip",
"comx-xmpp",
"diva-drivers",
"hylafaxplus",
"iaxmodem",
"mediaproxy-ng",
"mediaproxy-redis",
"rtpengine-redis",
"ossbss",
"sems-prompts",
"sipsak",
"www_admin",
"www_csc",
)
DOCKER_PROJECTS = (
"comx-fileshare-service",
"data-hal",

@ -15,7 +15,3 @@
from ..conf import settings
projects = set(settings.RELEASE_DASHBOARD_PROJECTS)
abandoned = set(settings.RELEASE_DASHBOARD_ABANDONED)
build_deps = set(settings.RELEASE_DASHBOARD_BUILD_DEPS)
trunk_projects = sorted(projects - abandoned - build_deps)
trunk_build_deps = sorted(build_deps - abandoned)

@ -1,65 +0,0 @@
# Copyright (C) 2016 The Sipwise Team - http://sipwise.com
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
from django import forms
from . import trunk_build_deps
from . import trunk_projects
from ..conf import settings
class BuildForm(forms.Form):
common_select = forms.CharField(max_length=50)
version_release = forms.CharField(max_length=50)
distribution = forms.CharField(max_length=30)
class BuildDepForm(BuildForm):
def __init__(self, *args, **kwargs):
super(BuildDepForm, self).__init__(*args, **kwargs)
for project in settings.RELEASE_DASHBOARD_BUILD_DEPS:
self.fields["version_%s" % project] = forms.CharField(
max_length=15
)
class BuildReleaseForm(BuildForm):
def __init__(self, *args, **kwargs):
super(BuildReleaseForm, self).__init__(*args, **kwargs)
for project in settings.RELEASE_DASHBOARD_PROJECTS:
self.fields["version_%s" % project] = forms.CharField(
max_length=15
)
class BuildTrunkDepForm(BuildForm):
def __init__(self, *args, **kwargs):
super(BuildTrunkDepForm, self).__init__(*args, **kwargs)
for project in trunk_build_deps:
self.fields["version_%s" % project] = forms.CharField(
max_length=30
)
class BuildTrunkReleaseForm(BuildForm):
def __init__(self, *args, **kwargs):
super(BuildTrunkReleaseForm, self).__init__(*args, **kwargs)
for project in trunk_projects:
self.fields["version_%s" % project] = forms.CharField(
max_length=30
)

@ -1,13 +0,0 @@
{% extends "release_dashboard/base.html" %}
{% load static %}
{% block title %}Build release{% endblock %}
{% block navlist %}
<li><a href="{% url 'release_dashboard:index_old'%}">Release Dashboard</a></li>
<li><a href="{% url 'release_dashboard:build_release_old'%}">Build Release</a></li>
{% endblock %}
{% block content %}
{% include "release_dashboard/build_content.html" %}
{% endblock %}
{% block extrajs %}
<script src="{% static 'release_dashboard/js/build.js' %}"></script>
{% endblock %}

@ -1,79 +0,0 @@
<div class="container">
<form method="POST" class="form-inline">{% csrf_token %}
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Actions</h3>
</div>
<div class="panel-body">
{% if common_versions %}
<div class="form-group">
<label for="common_select">Common selection</label>
<select class="form-control" id="common_select"
name="common_select">
<option value="ignore">ignore</option>
{% for v in common_versions.branches %}
<option value="branch/{{ v }}">branch/{{ v }}</option>
{% endfor %}
{% for v in common_versions.tags %}
<option value="tag/{{ v }}">tag/{{ v }}</option>
{% endfor %}
</select>
</div>
{% endif %}
<div class="form-group">
<label for="version_release">Release version</label>
<input class="form-control" id="version_release"
name="version_release" type="text"
value="none">
</div>
<div class="form-group">
<label for="distribution">Debian release</label>
<select class="form-control" id="distribution"
name="distribution">
{% for d in debian %}
<option value="{{ d }}">{{ d }}</option>
{% endfor %}
</select>
</div>
<button id="main" type="submit" class="btn btn-default">Submit</button>
</div>
<div id="select_text_info" class="panel-footer"></div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Data</h3>
</div>
<div class="panel-body">
<table class="table table-condensed">
<thead>
<tr>
<th>Project</th>
<th>Version</th>
</tr>
</thead>
<tbody>
{% for p in projects %}
<tr class="repo">
<th><label for="version_{{ p.name }}">{{ p.name }}</label></th>
<td class="version col-md-1">
<select class="form-control" id="version_{{ p.name }}" name="version_{{ p.name }}">
<option value="ignore">ignore</option>
{% for t in p.tags %}
<option value="tag/{{ t }}">tag/{{ t }}</option>
{% endfor %}
{% for b in p.branches %}
<option value="branch/{{ b }}">branch/{{ b }}</option>
{% endfor %}
</select>
</td>
<td>
<button type="button" id="ignore_{{ p.name }}" onclick="click_ignore(event)" class="btn btn-warning">Ignore</button>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</form>
</div>

@ -1,13 +0,0 @@
{% extends "release_dashboard/base.html" %}
{% load static %}
{% block title %}Build dependences{% endblock %}
{% block navlist %}
<li><a href="{% url 'release_dashboard:index_old'%}">Release Dashboard</a></li>
<li><a href="{% url 'release_dashboard:build_deps_old'%}">Build dependences</a></li>
{% endblock %}
{% block content %}
{% include "release_dashboard/build_content.html" %}
{% endblock %}
{% block extrajs %}
<script src="{% static 'release_dashboard/js/build.js' %}"></script>
{% endblock %}

@ -1,40 +0,0 @@
{% extends "release_dashboard/base.html" %}
{% load static %}
{% block title %}Build release{% endblock %}
{% block navlist %}
<li><a href="{% url 'release_dashboard:index'%}">Release Dashboard</a></li>
{% if release %}
<li><a href="{% url 'panel:release-view' release %}">Panel {{release}}</a></li>
{% else %}
<li><a href="{% url 'release_dashboard:build_docker_images'%}">Build project docker images</a></li>
{% endif %}
{% endblock %}
{% block content %}
<div class="container">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Results {{release}}</h3>
</div>
<div class="panel-body">
{% if error %}
<p class="bg-danger">{{ error }}</p>
{% endif %}
{% for project in projects %}
{% if project.url %}
<p class="bg-success">
{% if release %}
<a href="{% url 'panel:project-view' release project.name %}">{{ project.name }}</a>
{% else %}
<a href="{{ project.url }}">{{ project.name }}</a>
{% endif %}
</p>
{% else %}
<p class="bg-danger">
{{ project.name }}: Not triggered
</p>
{% endif %}
{% endfor %}
</div>
</div>
</div>
{% endblock %}

@ -1,13 +0,0 @@
{% extends "release_dashboard/base.html" %}
{% load static %}
{% block title %}Build release{% endblock %}
{% block navlist %}
<li><a href="{% url 'release_dashboard:index_old'%}">Release Dashboard</a></li>
<li><a href="{% url 'release_dashboard:build_release_tag_old'%}">Build Release by tag</a></li>
{% endblock %}
{% block content %}
{% include "release_dashboard/build_content.html" %}
{% endblock %}
{% block extrajs %}
<script src="{% static 'release_dashboard/js/build.js' %}"></script>
{% endblock %}

@ -1,13 +0,0 @@
{% extends "release_dashboard/base.html" %}
{% load static %}
{% block title %}Build release{% endblock %}
{% block navlist %}
<li><a href="{% url 'release_dashboard:index_old'%}">Release Dashboard</a></li>
<li><a href="{% url 'release_dashboard:build_trunk_release_old'%}">Build Trunk Release</a></li>
{% endblock %}
{% block content %}
{% include "release_dashboard/build_content.html" %}
{% endblock %}
{% block extrajs %}
<script src="{% static 'release_dashboard/js/build.js' %}"></script>
{% endblock %}

@ -1,13 +0,0 @@
{% extends "release_dashboard/base.html" %}
{% load static %}
{% block title %}Build dependences{% endblock %}
{% block navlist %}
<li><a href="{% url 'release_dashboard:index_old'%}">Release Dashboard</a></li>
<li><a href="{% url 'release_dashboard:build_trunk_deps_old'%}">Build Trunk dependences</a></li>
{% endblock %}
{% block content %}
{% include "release_dashboard/build_content.html" %}
{% endblock %}
{% block extrajs %}
<script src="{% static 'release_dashboard/js/build.js' %}"></script>
{% endblock %}

@ -21,27 +21,6 @@ from .views import Index
app_name = "release_dashboard"
urlpatterns = [
re_path(r"^$", Index.as_view(), name="index"),
re_path(r"^old/$", Index.as_view(old_links=True), name="index_old"),
re_path(
r"^old/build/$", build.build_release_old, name="build_release_old"
),
re_path(r"^old/build_deps/$", build.build_deps_old, name="build_deps_old"),
re_path(
r"^old/build_trunk_deps/$",
build.build_trunk_deps_old,
name="build_trunk_deps_old",
),
re_path(
r"^old/build_trunk/$",
build.build_trunk_release_old,
name="build_trunk_release_old",
),
re_path(
r"^old/build_tag/$",
build.build_release_old,
{"tag_only": True},
name="build_release_tag_old",
),
re_path(r"^build/$", build.index, name="build_index"),
re_path(
r"^build/(?P<release>[^/]+)/$",

@ -30,9 +30,6 @@ debian_releases = []
for debian_release in settings.RELEASE_DASHBOARD_DEBIAN_RELEASES:
if debian_release != "auto":
debian_releases.append(debian_release)
regex_master = re.compile(
r"^master$|^(%s)/master$" % "|".join(map(re.escape, debian_releases))
)
def _projects_versions(

@ -24,19 +24,9 @@ from django.shortcuts import render
from django.urls import reverse
from django.views.decorators.http import require_http_methods
from . import _common_versions
from . import _hash_versions
from . import _projects_versions
from . import regex_hotfix
from . import regex_master
from . import regex_mr
from ..conf import settings
from ..forms import trunk_build_deps
from ..forms import trunk_projects
from ..forms.build import BuildDepForm
from ..forms.build import BuildReleaseForm
from ..forms.build import BuildTrunkDepForm
from ..forms.build import BuildTrunkReleaseForm
from ..models import Project
from ..tasks import gerrit_fetch_all
from ..tasks import gerrit_fetch_info
@ -108,59 +98,11 @@ def hotfix_build(request, branch, project):
push = json_data.get("push", "no")
empty = json_data.get("empty", False)
if push == "no":
logger.warn("dryrun for %s:%s", project, branch)
logger.warn("dry-run for %s:%s", project, branch)
urls = build.trigger_hotfix(project, branch, request.user, push, empty)
return JsonResponse({"urls": urls})
def _build_logic(form, projects):
version_release = form.cleaned_data["version_release"]
distribution = form.cleaned_data["distribution"]
result = _hash_versions(form.cleaned_data, projects)
context = {"projects": [], "release": version_release}
flow_uuid = uuid.uuid4()
msg = "trying to trigger release %s, project %s"
for pro in projects:
try:
logger.debug(msg, version_release, pro)
url = build.trigger_build(
"%s-get-code" % pro,
version_release,
result[pro],
distribution,
flow_uuid,
)
context["projects"].append({"name": pro, "url": url})
except KeyError:
msg = "Houston, we have a problem with trigger for %s"
logger.error(msg, pro)
context["projects"].append({"name": pro, "url": None})
return context
@login_required
def build_deps_old(request, tag_only=False):
if request.method == "POST":
form = BuildDepForm(request.POST)
if form.is_valid():
context = _build_logic(form, settings.RELEASE_DASHBOARD_BUILD_DEPS)
else:
context = {"error": "form validation error"}
return render(request, "release_dashboard/build_result.html", context)
else:
context = {
"projects": _projects_versions(
settings.RELEASE_DASHBOARD_BUILD_DEPS,
regex_mr,
True,
not tag_only,
),
"debian": settings.RELEASE_DASHBOARD_DEBIAN_RELEASES,
}
_common_versions(context, True, not tag_only)
return render(request, "release_dashboard/build_deps.html", context)
@login_required
def hotfix(request):
prj_list = _projects_versions(
@ -170,32 +112,6 @@ def hotfix(request):
return render(request, "release_dashboard/hotfix.html", context)
@login_required
def build_release_old(request, tag_only=False):
if request.method == "POST":
form = BuildReleaseForm(request.POST)
if form.is_valid():
context = _build_logic(form, settings.RELEASE_DASHBOARD_PROJECTS)
else:
context = {"error": "form validation error"}
return render(request, "release_dashboard/build_result.html", context)
else:
context = {
"projects": _projects_versions(
settings.RELEASE_DASHBOARD_PROJECTS,
regex_mr,
True,
not tag_only,
),
"debian": settings.RELEASE_DASHBOARD_DEBIAN_RELEASES,
}
_common_versions(context, True, not tag_only)
if tag_only:
return render(request, "release_dashboard/build_tag.html", context)
return render(request, "release_dashboard/build.html", context)
@login_required
def refresh_all(request):
if request.method == "POST":
@ -214,46 +130,3 @@ def refresh_all(request):
def refresh(request, project):
res = gerrit_fetch_info.delay(project)
return JsonResponse({"url": "/flower/task/%s" % res.id})
@login_required
def build_trunk_deps_old(request):
if request.method == "POST":
form = BuildTrunkDepForm(request.POST)
if form.is_valid():
context = _build_logic(form, settings.RELEASE_DASHBOARD_BUILD_DEPS)
else:
context = {"error": "form validation error"}
return render(request, "release_dashboard/build_result.html", context)
else:
template = "release_dashboard/build_trunk_deps.html"
context = {
"projects": _projects_versions(
trunk_build_deps,
regex_master,
),
"common_versions": {"tags": [], "branches": ["master"]},
"debian": settings.RELEASE_DASHBOARD_DEBIAN_RELEASES,
}
return render(request, template, context)
@login_required
def build_trunk_release_old(request):
if request.method == "POST":
form = BuildTrunkReleaseForm(request.POST)
if form.is_valid():
context = _build_logic(form, trunk_projects)
else:
context = {"error": "form validation error"}
return render(request, "release_dashboard/build_result.html", context)
else:
context = {
"projects": _projects_versions(
trunk_projects,
regex_master,
),
"common_versions": {"tags": [], "branches": ["master"]},
"debian": settings.RELEASE_DASHBOARD_DEBIAN_RELEASES,
}
return render(request, "release_dashboard/build_trunk.html", context)

Loading…
Cancel
Save