Contribution guidelines

YaST is an open source project and as such it welcomes all kinds of contributions. If you want to report a bug or contribute some code, make sure you read the YaST contribution guidelines first.

When contributing code, it should go through the documented code review process. That means, among other things, that all new code must be reviewed. YaST follows the Ruby style guide for the source code and its own UI style guide. Code needs to be automatically tested, so new tests should follow guidelines for writing tests. The preferred documentation format in code is YARD, learn more in this cheatsheet and in its thorough explanation.

From the repository to the distribution

YaST honors the "release early, release often" principle with a continuous integration (known as CI) infrastructure. Every time new code is merged into the master branch of a YaST repository, the CI server automatically handles all the packaging tasks and ensures that the package is sent to openSUSE Factory. The process is described in depth in this page of the openSUSE wiki.

The development of a new version of a Linux distribution does not stop when the distribution is published. In order to create a maintenance update, some steps are required in addition to merging the fix into the right branch. These steps are described at The "Maintenance Branches" document.

Continuous testing with GitHub Actions

The GitHub Actions are used for running tests during development. They runs the tests for every pushed change and when a pull request is created. The build result is then visible at GitHub as a commit status so build or test failures can be found out very early. More details can be found in the CI Integration documentation.