Highlights of the OBS frontend development - Sprint 46

People of the Builds! Another Sprint is over and here is what the OBS frontend team has achieved in the last two weeks (2018-08-27 to 2018-09-06). :smile:

Bootstrap - Package Overview

Finally, after a few sprints, the package show view is using the new interface. Right now, the overview of a package looks great and is responsive. We made some changes in the build results box, making it clearer. It is not pushing the comments section anymore if it has a lot of elements. Besides that, we replaced the old icons with modern ones from Font Awesome that are making OBS looks incredible! :tada: Please have a look into PR#5705 for more details :bowtie:.

Bootstrap - Package

Tabs

Bootstrap - Package Tabs

Dialogs

Bootstrap - Package Dialogs

Build Results

Bootstrap - Package Build Results

RPM Lint

Bootstrap - Package RPM Lint

Comments

Bootstrap - Package Comments

Bootstrap - Package Attributes

In addition to the package show view, we also completed the port of the package attributes view to the new interface. Below is a preview of the new view, try it out by joining the beta program (as explained in our previous sprint report).

Bootstrap - Package Attributes

Clarify Requests’ Aim

Users often send unnecessary requests to project/package maintainers, the reason seems to be that they don’t understand what a submit or delete request is. In order to limit these requests, the ‘description’ field is now compulsory and we added a short explanation. Users will now know that requests will be sent to another human being.

Clarify Requests' Aim

Status Checks API

If you followed our last sprint report, you might already know that we currently implement a Status Check API. In this sprint, we extended this API to have required checks. Imagine that you have a project or request for which you run several checks. With this new feature, it is now possible to make certain checks mandatory to be run. Currently only published repositories are supported, but we plan to implement required checks also on projects and requests in one of the next sprints, stay tuned.

In the image, you can see how this currently looks in the staging project dashboard. There are currently two checks, ‘openQA’ which was successful and ‘ExampleCI’ which is a required check and therefore it is reported as ‘Expected - Waiting for status to be reported’.

Status Checks API

Refactor Status Controller

While working on the status API, we noticed that OBS already had a status controller. This controller was responsible for all kind of things, starting from worker capabilities to project status and status history. :sweat:

That’s why we decided to clean this up. :smiley:

During this sprint, we reviewed the controller and moved all worker related code to its own controller. We did the same for the status project related code. This is now in the StatusProjectController. :tada:

Last, but not least, we dropped a couple of routes that were defined for the public routing namespace, but not used by our so called interconnects. Interconnects? Yes! Interconnects. That’s how we call when one OBS instance is using resources, mostly repositories and packages, from another OBS instance. And since public routes are only used by such interconnects, we could safely remove them.

Bug Squad

For a few weeks, we’ve been having a rotating role in our sprint dedicated to fix bugs. Continiung this week, we fixed 6 bugs :tada:. Here is a summarized list of the bugs we fixed during in the bug squad:

Next Sprint More

That was everything! Remember you can follow the work of the OBS team live in our Trello Board. Do not miss our next blog post! :wink: