Skip to content

Latest commit

 

History

History
143 lines (91 loc) · 6.32 KB

CONTRIBUTING.md

File metadata and controls

143 lines (91 loc) · 6.32 KB

Contributing to StarRocks

StarRocks is built by an open and friendly community. We are dedicated to building a collaborative, inspiring, and exuberant open-source community for our members. Everyone is more than welcome to join our community to get help and to contribute to StarRocks.

Table of content

How to contribute

Contributions to StarRocks are cordially welcome from everyone. Contributing to StarRocks is not limited to contributing codes. Below, we list different approaches to contributing to our community.

Contribution Details
Report a bug You can file an issue To report a bug with StarRock.
Contribute code You can contribute your code by fixing a bug or implementing a feature.
Contribute test case You can contribute your test cases.
Help review code If you are an active contributor or committer of StarRocks, you can help us review the pull requests (PRs).
Contribute documentation StarRocks community maintains a tremendous amount of documentation both in Chinese and English. You can contribute documentation changes by fixing a documentation bug or proposing a new piece of content.
Help StarRocks users You can help newcomers who meet difficulties in our community.
Spread the word about StarRocks You can author an article or give a talk about us to help us spread our technology to the world.

Contributing guideline

This guide describes how to make various types of contribution to StarRocks community.

Report a bug

To report a bug with StarRocks, you should file an issue in StarRocks repository, and provide necessary information and, if possible, steps to reproduce the bug in the issue body.

Contributing code

You can contribute your code by fixing a bug you identified or in an existing issue. If you are new to this project, you may find the issues labelled good-first-issue suitable for your first contribution. Usually, such issues provide a detailed description of the procedure to solve the problem in its issue body.

If you are confident with your programming proficiency, you can also contribute your code by helping develop a feature for StarRocks.

General workflow

Before getting your hands on codes, you should comment and mention the repository maintainer in the issue body, and inform him/her to assign to you the issue that you wish to solve. It is recommended to share your plan on how to solve this problem in the issue body as well.

In StarRocks community, we follow the fork-and-merge GitHub workflow when contributing code.

  1. Create a fork of StarRocks in your GitHub account.
  2. Clone this forked repository to your local device.
  3. Check out a new branch based on the branch you expect to contribute.
  4. Commit your code changes on the new branch.
  5. Push the branch with code changes to GitHub.
  6. Create a PR to submit your code changes.

The repository maintainers will review your code changes as soon as possible. Your commits will be merged once approved.

For detailed instruction on GitHub workflow, see StarRocks GitHub Workflow.

StarRocks code structure

TBC

Important directories

TBC

Set your development environment

  1. For FE development environment, see The development configuration setup for StarRocks on IDEA.
  2. For BE development environment, see The development configuration setup for StarRocks on Clion.

Coding style

TBC

Unit test

TBC

Commit message

  • Write your commit message in English.
  • Start your commit message with a verb clause initiated with an upper case letter.
  • Use concise, explicit language.

PR body

  • You should relate the issue you worked on in the PR body.
  • It is recommended to submit ONE commit in ONE PR. See PR template for more inforamtion.

Contributor License Agreement

To get your PR merged, you must submit your Contributor License Agreement (CLA) first. You only need to submit it ONCE.

Best practices

TBC

Important contacts

Whenever you have difficulties in development, you can reach out to the following members for help. You can mention them in your issue or PR.

  • TBC

Contributing test case

TBC

Reviewing code

TBC

Contributing documentation

To contribute to StarRocks documentation, please refer to Document Contribution Guideline.

Help community members

If you are a proficient StarRocks user, you can contribute to our community by helping new members solve the problems when they use StarRocks.

Spread our idea

You are welcome to author a blog article about StarRocks in the media, or host a live broadcast to spread StarRocks to the world. Please contact opensource@starrocks.com for more information and instructions.

Code of conduct

All members in the community are instructed to follow our Code of Conduct.