YaST Contribution Guidelines
YaST is an open source project and as such it welcomes all kinds of contributions. If you decide to contribute, please follow these guidelines to ensure the process is effective and pleasant both for you and YaST maintainers.
There are two main forms of contribution: reporting bugs and performing code changes.
If you find a problem, please report it either using Bugzilla or GitHub issues. We can't guarantee that every bug will be fixed, but we'll try.
When creating a bug report, please follow our bug reporting guidelines.
We welcome all kinds of code contributions, from simple bug fixes to significant refactorings and implementation of new features. However, before making any non-trivial contribution, get in touch with us first — this can prevent wasted effort on both sides. Also, have a look at our development documentation.
To send us your code change, use GitHub pull requests. The workflow is as follows:
Fork the project.
Create a topic branch based on
Implement your change, including tests (if possible). Make sure you adhere to the Ruby style guide.
Make sure your change didn't break anything by building the RPM package (
rake osc:build). The build process includes running the full testsuite.
Publish the branch and create a pull request.
YaST developers will review your change and possibly point out issues. Adapt the code under their guidance until they are all resolved.
Finally, the pull request will get merged or rejected.
See also GitHub's guide on contributing.
If you want to do multiple unrelated changes, use separate branches and pull requests.
Do not change the
*.changes files as this could lead to
Each commit in the pull request should do only one thing, which is clearly described by its commit message. Especially avoid mixing formatting changes and functional changes into one commit. When writing commit messages, adhere to widely used conventions.
If your commit is related to a bug in Bugzilla or an issue on GitHub, make sure you mention it in the commit message for cross-reference. Use format like bnc#775814 or gh#yast/yast-foo#42. See also GitHub autolinking and openSUSE abbreviation reference.