Skip to content

Latest commit

 

History

History
61 lines (43 loc) · 4.52 KB

CONTRIBUTING.md

File metadata and controls

61 lines (43 loc) · 4.52 KB

Contributing to Litmus Chaos-Exporter

Litmus is an Apache 2.0 Licensed project and uses the standard GitHub pull requests process to review and accept contributions.

There are several areas of Litmus that could use your help. For starters, you could help in improving the sections in this document by either creating a new issue describing the improvement or submitting a pull request to this repository.

  • If you are a first-time contributor, please see Steps to Contribute.
  • If you would like to suggest new tests to be added to litmus, please go ahead and create a new issue describing your test. All you need to do is specify the workload type and the operations that you would like to perform on the workload.
  • If you would like to work on something more involved, please connect with the Litmus Contributors.
  • If you would like to make code contributions, all your commits should be signed with Developer Certificate of Origin. See Sign your work.

Steps to Contribute

Pull Request Checklist

  • Rebase to the current master branch before submitting your pull request.

  • Commits should be as small as possible. Each commit should follow the checklist below:

    • For code changes, add tests relevant to the fixed bug or new feature
    • Pass the compile and tests - includes spell checks, formatting, etc
    • Commit header (first line) should convey what changed
    • Commit body should include details such as why the changes are required and how the proposed changes
    • DCO Signed
  • If your PR is not getting reviewed or you need a specific person to review it, please reach out to the Litmus contributors at the Litmus slack channel

Sign your work

We use the Developer Certificate of Origin (DCO) as an additional safeguard for the LitmusChaos project. This is a well established and widely used mechanism to assure that contributors have confirmed their right to license their contribution under the project's license. Please add a line to every git commit message:

  Signed-off-by: Random J Developer <random@developer.example.org>

Use your real name (sorry, no pseudonyms or anonymous contributions). The email id should match the email id provided in your GitHub profile. If you set your user.name and user.email in git config, you can sign your commit automatically with git commit -s.

You can also use git aliases like git config --global alias.ci 'commit -s'. Now you can commit with git ci and the commit will be signed.

Setting up your Development Environment

This project is implemented using Go and uses the standard golang tools for development and build. In addition, this project heavily relies on Docker and Kubernetes. It is expected that the contributors:

  • are familiar with working with Go;
  • are familiar with Docker containers;
  • are familiar with Kubernetes and have access to a Kubernetes cluster or Minikube to test the changes.

For setting up a Development environment on your local host, see the detailed instructions here.

Community

The litmus community will have a monthly community sync-up on 3rd Wednesday 22.00-23.00IST / 18.30-19.30CEST

  • The community meeting details are available here. Please feel free to join the community meeting.