Skip to main content
Version: Next

Contributing

Welcome to HAMi!

Code of Conduct

Please make sure to read and observe the Code of Conduct

Community Expectations

HAMi is a community project driven by its community which strives to promote a healthy, friendly and productive environment.

Getting started

  • Fork the repository on GitHub.
  • Make your changes on your fork repository.
  • Submit a PR.

Your First Contribution

Help is available for contributing in different areas: filing issues, developing features, fixing critical bugs and getting work reviewed and merged.

If you have questions about the development process, feel free to file an issue.

Find something to work on

The project always needs help, be it fixing documentation, reporting bugs or writing code. Look at places where you feel best coding practices aren't followed, code refactoring is needed or tests are missing. Here is how you get started.

Find a good first topic

There are multiple repositories within the HAMi organization. Each repository has beginner-friendly issues that provide a good first issue. For example, Project-HAMi/HAMi has help wanted and good first issue labels for issues that should not need deep knowledge of the system. New contributors working on such issues can reach out for help.

Another good way to contribute is to find a documentation improvement, such as a missing/broken link. Please see Contributor Workflow below for the workflow.

Work on an issue

When you are willing to take on an issue, reply on the issue. The maintainer will assign it to you.

File an Issue

Code contributions are welcome, but reporting an issue is equally appreciated. Issues should be filed under the appropriate HAMi sub-repository.

Example: a HAMi issue should be opened to Project-HAMi/HAMi.

Please follow the prompted submission guidelines while opening an issue.

Contributor Workflow

Please do not ever hesitate to ask a question or send a pull request.

This is a rough outline of what a contributor's workflow looks like:

  • Create a topic branch from where to base the contribution. This is usually master.
  • Make commits of logical units.
  • Push changes in a topic branch to a personal fork of the repository.
  • Submit a pull request to Project-HAMi/HAMi.

Creating Pull Requests

Pull requests are often called "PR". HAMi generally follows the standard github pull request process. To submit a proposed change, please develop the code/fix and add new test cases. After that, run these local verifications before submitting a pull request to predict the pass or fail of continuous integration.

  • Run and pass make verify

Code Review

To make it easier for your PR to receive reviews, consider the reviewers will need you to:

  • follow good coding guidelines.
  • write good commit messages.
  • break large changes into a logical series of smaller patches which individually make easily understandable changes, and in aggregate solve a broader issue.
CNCFHAMi is a CNCF Sandbox project