It’s summer in Europe and that means vacations for most members of the YaST Team at SUSE. Although that may imply less frequent blogging, we have some news to share with you today, like:
- Taking over the development of the (open)SUSE Release Tools
- Improvements in the new
check-profile
command - Finished migration from Travis CI to GitHub Actions
- Several interesting bug fixes
Let’s go into some details
Release Tools: YaST Team to the Rescue!
As you all know, developing and maintaining complex software distributions like openSUSE Leap, Tumbleweed or SUSE Linux Enterprise is not an easy task. Specially since we want to ensure all of them stay independent but at the same time closely related, and since they keep evolving in new directions like Kubic, MicroOS and SLE Micro.
Our beloved Open Build Service is the key component that makes all that possible. But some extra tools are needed in addition to OBS in order to manage the complexity of the (open)SUSE distributions. Those extra tools are hosted and developed in a GitHub repository simply called openSUSE-release-tools. For years, the development process of those tools has been highly unstructured (not to say “slightly chaotic”), with more than 60 contributors but no clear mid-term strategy. Although that is not necessarily bad, some sustained and directed development is needed to solve some of the challenges we have ahead of us and to fix some pitfalls in the current development process of the openSUSE and SUSE products and distributions.
The YaST Team was chosen for such a task, so we will steadily take over development and maintenance
of the tools in that repository. As first steps, we improved a lot the documenation. That includes
extending the README
file and adding new
documents like an inventory of
tools and a summary of
the processes in
which those tools are involved. We also extended and updated the automated tests and implemented
an easy new check in the factory-auto
bot.
We have way more ambitious plans for the future, but we are still learning and discovering new stuff in that repository every day.
Improvements in the AutoYaST Profile Validation
As you may know, we recently introduced a YaST client to validate complex profiles that include Embedded Ruby, rules and classes and/or scripts. Generally, such a validation could be done without root permissions, but there are some situations where superuser privileges are required.
To mitigate the implications, we introduced several improvements in the check-profile
tool. You
can see the details in the description of the corresponding pull
request.
From Travis CI to GitHub Actions - Migration Completed
Some months ago, we started switching the continuous integration on all YaST repositories from using Travis CI to GitHub Actions. The main reason was that GitHub Actions are directly integrated in GitHub so it is easier to use - no need for extra account, less problems with authentication or permissions…
The transition is finished now. It was easy because both services are quite similar, although
support for Docker is more straightforward in GitHub Actions. In this service, the actions are
defined in YAML files in the .github/workflows
subdirectory. We created several
templates for the YaST packages.
If you want to know more, read the GitHub Actions documentation.
Interesting bug fixes
Although we spend a significant time of our sprints fixing bugs, we usually don’t blog about that part of the job because we understand is not the most exciting one. But this time we would like to highlight some pull request you may find interesting for several reasons. Including better handling of failures while analyzing the system, of variables in repository urls and of SSH authorized keys.
We keep working
As mentioned before, the YaST Team is not at full speed due to the vacation season. But we hope to keep delivering interesting stuff in many fronts and we will try to keep you all updated. Meanwhile, do as we do and have a lot of fun!