Skip to content

Latest commit

 

History

History
66 lines (52 loc) · 3.51 KB

contributing.rst

File metadata and controls

66 lines (52 loc) · 3.51 KB

Contributing Guide

This guide is geared for developers and maintainers of buildtest who want to contribute back to buildtest project. There are many ways you can help contribute to buildtest that may include:

Overview

buildtest codebase is written in Python 3, so if you are new to Python you will want to check out the python 3 tutorial: https://docs.python.org/3/tutorial/. This is a good starting point to understand python basics. If you are familiar with Python 2 you may want to review the Python 2-3 cheat sheet.

buildtest relies on YAML and JSON Schema, you should review Understanding JSON Schema article as it provides a thorough overview of JSON Schema. There are several resources to help you learn YAML for instance you can check out:

buildtest has a regression test that is run via pytest. You should be familiar with pytest and it's usage and documentation as it will help you write regression test. The regression test makes use of coverage to measure code coverage of buildtest source code. This is configured using .coveragerc file located in top of repo. The coverage data is pushed to codecov at https://codecov.io/gh/buildtesters/buildtest/.

buildtest has several CI checks written in GitHub workflows. These are found in .github/workflows directory of buildtest. You should familiarize yourself with github worflow syntax if you want to contribute back to github workflows.

Git is essential to code contribution so we recommend you get comfortable using git as it will be discussed in code contributing guide <code_contribution_guide>. We recommend you review one the following guides to help you learn `git`:

buildtest documentation is built on sphinx and hosted via readthedocs. Be sure to check out documentation on readthedocs to understand how it works. The buildtest project is hosted at https://readthedocs.org/projects/buildtest/ which hosts the public documentation at https://buildtest.readthedocs.io/. The documentation pages are written in reStructured Text (rST) which is Sphinx's markup language when hosting the docs.

Contributing Topics

contributing/code_contribution_guide contributing/github_integration contributing/build_documentation contributing/regression_testing contributing/schema contributing/maintainer_guide contributing/new_maintainer_checklist