Highlights of the OBS frontend development - Sprint 32 (X-mas Sprint)

People of the Builds! And another Sprint is over and here is what the OBS frontend team has achieved in the last two weeks (2018-02-05 to 2018-02-16).

Ruby 2.5

As every year, we got a new Ruby release for Christmas! :christmas_tree: So, even if it is always Christmas in the OBS team, the holidays are already over and it was time to unwrap the present and move to Ruby 2.5. As you can see in the PR, the update to Ruby 2.5 was quite straight-forward, without the need of making many changes in the code. However, we had some fun fixing some failing packages depending on ruby. But everything succeeded, and we enter in the new year with a green monitoring page for OBS:Server:2.9:Staging! :tada:

OBS Christmas tree

Releases

OBS 2.8 packages & images for openSUSE Leap 42.3

Last sprint we worked on the new openSUSE Leap 42.3 images for OBS 2.8, but we did not manage to release them because we didn’t finish testing them. We did that this sprint and released the images and packages last week. :smiley:

Cloud Upload

Improve binary download page

We have continued working on the cool cloud upload feature. :cloud: This time we refactored the view of Binaries, that before was just a list of links that pointed to the details page. Now you can download the files directly or upload images to the cloud, and you still can go to the details page as before.

New binaries view.

Sadly we have received some complaints related this feature, as you could read in our IRC channel on Friday:

[13:14] <coolo> I guess you just deployed?

[13:15] * coolo has problems connecting the links with the packages on https://build.opensuse.org/package/binaries/devel:openQA/openQA?repository=openSUSE_Leap_42.3

[13:15] <coolo> I guess I can have a ruler every time to make sure I click on the proper line

Following the usual OBS team efficiency, this issue has also been solved and now coolo can click on the proper line:

Coolo's present Coolo's present

For the rest of users, that are still affected by this we have created an issue (#4525), which will be solved sooner rather than later!

SUSE Studio Express

Last Wednesday, SUSE Studio Online was shut down, and the Studio users are moving to our new Studio Express workflow in OBS. Some of them are really excited about it:

Happy Studio user Tweet

Learn more about SUSE Studio Express in our Studio user welcome blog post.

Tests for Relationship class

As with most of the Sprints, we have continued improving our Test Suite :gem: by adding more tests for the Relationship class to increase our test coverage.

Check the PR for more details.

Fixing MySQL deadlock errors

The way we have calculated the frequency of activity for packages was causing deadlock errors because it was using multiple queries to the database which sometimes were conflicting with each other. This was fixed by using only one database query.

Check the PR for more details.

PrettyNestedErrors Handles n-level nested associations

Our ActiveRecord concern, which generates a nested hash of validation errors for nested models, previously only worked for nested models up to two levels deep. Now it works up to n-levels deep.

Check the PR for more details.

Update nodejs to a supported version

As OBS was using an unsupported version of nodejs we have moved to a supported version for every repository (openSUSE 42.3 and SLE12 SP3) we use for Unstable and the soon to be released 2.9 version of OBS.

Conferences: FOSDEM

As we had already announced in our last blog post, we attended FOSDEM, the annual free software conference, in Brussels. It was a blast. We had nice belgian :beers:, waffles, :chocolate_bar: and visited plenty of talks ranging from packaging, over graph processing to development observability.

One of the highlights was the talk Andrew Lee of Collabora hold. He was showing how debian uses OBS to manage packages and distribution, which we really recommend you to watch.

Picture of OBS talk at FOSDEM.