Contributor’s Quick Start Guide#
To contribute to OpenMS:
Familiarise yourself with the OpenMS online documentation.
Learn how to build OpenMS.
Check out the OpenMS tutorial for developers.
For any questions, please contact us.
Untested installers and containers are known as the nightly snapshot, are released every night. They generally pass automated continuous integration tests but no manual tests.
View the documentation for the nightly snapshot of OpenMS develop branch at the build archive.
See the documentation for the latest release.
Before contributing to OpenMS, read information on the development model and conventions followed to maintain a coherent code base.
OpenMS follows the Gitflow development workflow.
Every contributor is encouraged to create their own fork (even if they are eligible to push directly to OpenMS). To create a fork:
Follow the documentation on forking.
Keep your fork up-to-date.
Create a pull request. Before opening the pull request, please view the pull request guidelines.
See the manual for coding style recommended by OpenMS: Coding conventions.
OpenMS automatically tests for common coding convention violations using a modified version of
Style testing can be enabled using
cmake options. clang-format is used for formatting the cpp code.
View the guidelines for commit messages: How to write commit messages.
Automated unit tests#
Nightly tests run on different platforms. It is recommended to test on different platforms.
This saves time and increases productivity during continuous integration tests.
Nightly tests: CDASH.
Further contributor resources#
Consider the following resources for further information:
Guidelines for adding new dependency libraries: View the guidelines for adding new dependency libraries.
Experimental installers: We automatically build installers for different platforms. These usually contain unstable or partially untested code. The nightly (unstable) installers are available at the build archive.
Developer FAQ: Visit the Developer FAQ to get answers to frequently asked questions.