Skip to content

Latest commit

 

History

History
115 lines (79 loc) · 5.32 KB

CONTRIBUTING.md

File metadata and controls

115 lines (79 loc) · 5.32 KB

Contributing to GraphAr

First off, thank you for considering contributing to GraphAr. It's people like you that make GraphAr better and better.

There are many ways to contribute, from improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into GraphAr itself.

Code of Conduct

We expect all community members to follow our Code of Conduct.

First Contribution

  1. Ensure your change has an issue! Find an existing issue or open a new issue.

  2. Fork the GraphAr repository in your own GitHub account.

  3. Create a new Git branch.

  4. Make your changes.

  5. Submit the branch as a pull request to the main GraphAr repo. An GraphAr team member should comment and/or review your pull request within a few days. Although, depending on the circumstances, it may take longer.

  6. Discussing and keeping your Pull Request updated.

    You will probably get feedback or requests for changes to your pull request. This is a big part of the submission process so don't be discouraged! It is a necessary part of the process in order to evaluate whether the changes are correct and necessary.

    Feel free to post a comment in the pull request to ping reviewers if you are awaiting an answer on something. If you encounter words or acronyms that seem unfamiliar, refer to this glossary.

Workflow

Create a branch

All changes has to be made in a branch and submitted as pull requests.

A good branch name would be the issue number you are working on and a short description of the change, like (where issue #42 is the ticket you're working on):

$ git checkout -b 42-add-chinese-translations

GitHub Pull Requests

Once your changes are ready you must submit your branch as a pull request

Title

The pull request title must follow the format outlined in the conventional commits spec.

Conventional commits is a standardized format for commit messages. GraphAr only requires this format for commits on the main branch. And because GraphAr squashes commits before merging branches, this means that only the pull request title must conform to this format.

The following are all good examples of pull request titles:

feat(c++): Support timestamp data type
docs: fix the images link of README
ci: Mark job as skipped if owner is not apache
fix(c++): Fix the bug of the memory leak
refactor: Refactor the API of the vertex info implementation

Reviews & Approvals

All pull requests should be reviewed by at least one GraphAr committer.

Merge Style

All pull requests are squash merged. We generally discourage large pull requests that are over 300–500 lines of diff. If you would like to propose a change that is larger, we suggest coming onto our Discussions and discussing it with us. This way we can talk through the solution and discuss if a change that large is even needed! This will produce a quicker response to the change and likely produce code that aligns better with our process.

CI

Currently, GraphAr uses GitHub Actions to run tests. The workflows are defined in .github/workflows.

Setup Development Environment

For small or first-time contributions, we recommend the dev container method. And if you prefer to do it yourself, that's fine too!

Using a dev container environment

GraphAr provides a pre-configured dev container that could be used in VSCode, JetBrains, JupyterLab. Please pick up your favorite runtime environment.

Use your own toolkit

Different components of GraphAr may require different setup steps. Please refer to their respective README documentation for more details.


This doc refer from Apache OpenDAL