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).
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! Please have a look into PR#5705 for more details .
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).
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.
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’.
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.
That’s why we decided to clean this up.
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.
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.
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 . Here is a summarized list of the bugs we fixed during in the bug squad:
- osc request list “–exclude-target-project” not honored by API
- Removing auto generated product files failed
- Request page for bootstrap crashed with undefined method
- Record not unique exception
- Duplicate entry exception for BsRequest
- Undefined method project_command
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!