Skip to content

Contribution guidelines

Tomas James edited this page Feb 12, 2020 · 7 revisions

Preamble

This file will gradually grow alongside the code, outlining best practises and guidelines that are recommended for contributions.

We actively encourage contributions and are happy to discuss potential applications with you - simply get in touch!

Contribution motivations

UCLCHEM encourages Continuous Integration (CI) practice from its contributors. Developers - as well as users who wish to contribute to the ongoing development - of UCLCHEM should follow the guidelines below for ensuring their code is easily and painlessly integrated in to the public release (i.e. the master branch).

CI workflow applied to UCLCHEM

It is recommended that users who wish to contribute to the codebase should adhere to the following workflow:

  1. (Optional): fork UCLCHEM - for larger projects and implementations that intend on changing fundamental UCLCHEM processes this is essential
  2. branch off of the latest master build and ensure the first string of the branch name describes the intended contribution, e.g.
    • bugs/<branch-name>
    • feature/<branch-name>
    • improvement/<branch-name>
  3. name the branch succintly and accurately such that it describes the code objective, e.g. feature/sputtering
  4. ensure regular commits with clear commit messages (a great guide can be found here) to the working branch
  5. ensure that all pre-rolled tests complete without error, and investigate building your own test suite to ensure full compatability
  6. when your contribution is complete, submit a Pull Request from your working branch to the master branch of UCLCHEM and ensure code review by a UCLCHEM developer is selected
  7. Selected developer will review your code and either suggest changes/improvements or merge the changes to the master branch
  8. Enjoy your contribution to an open source code being part of a public release :)
Clone this wiki locally