Thank you for your interest in contributing to Operations Engineering tools and services. This guide details how to contribute to the codebase in a way that is easy for everyone.
To make it easier for you to start contributing and having your contributions accepted, we've put together this small document.
These guidelines are supposed to help us balance our regular work with integrating your contributions without having to be "at work" 24/7. Your changes, ideas, bug reports, and other contributions are welcome 24/7, however, please keep in mind the timeframes provided in the list of maintainers when setting your expectations for reaction times.
When contributing to OpsEng codebase, your merge request is subject to review by merge request maintainers of a particular specialty.
When you submit your contribution, we really want it to get merged, but there will be times when it will not be merged.
When maintainers are reading through a merge request they may request guidance from other maintainers. If merge request maintainers conclude that the code should not be merged, our reasons will be fully disclosed. If it has been decided that the code quality is not up to OpsEng's standards, the merge request maintainer will refer the author to our docs and code style guides and provide some guidance.
Sometimes style guides will be followed but the code will lack structural integrity, or the maintainer will have reservations about the code's overall quality. When there is a reservation the maintainer will inform the author and provide some guidance. The author may then choose to update the merge request. Once the merge request has been updated and reassigned to the maintainer, they will review the code again. Once the code has been resubmitted any number of times, the maintainer may choose to close the merge request with a summary of why it will not be merged, as well as some guidance. If the merge request is closed the maintainer will be open to discussion as to how to improve the code so it can be approved in the future.
OpsEng maintainers will do their best to review community contributions as quickly as possible.
If your code has not been reviewed within a few days of its initial submission feel free to ping appropriate reviewers.
Sometimes you might feel that your code requires the aid of an external library. In that case please provide a link to the library, as well as reasons for including it.
When your code contains more than 500 changes, any major breaking changes, or an external library, @mention a maintainer in the merge request. If you are not sure who to mention, the reviewer will add one early in the merge request process.
Merge request guidelines outlines the current merge request process:
- Merge request guidelines
- Contribution acceptance criteria
- Definition of done