The development guide is located under the docs folder.
Welcome to [oceanbase]! We're thrilled that you'd like to contribute. Your help is essential for making it better.
Before you start contributing, please make sure you have read and understood our Code of Conduct.
First, fork the oceanbase repository to your own GitHub account. This will create a copy of the project under your account.
git clone https://github.com/`your-github-name`/oceanbase
cd oceanbase
Create a new branch for your feature or bug fix:
git checkout -b feature-branch
feature-branch is the name of the branch where you will be making your changes. You can name this whatever you want.
Make your changes and commit them:
git add .
git commit -m "Description of your changes"
Push your changes to your fork:
git push origin feature-branch
Finally Click on Compare & Pull request
to contribute on this repository.
After you create the pull request, a member of the Oceanbase team will review your changes and provide feedback. Once satisfied, they will merge your pull request.
And there are some CI checks to pass before your pull request can be merged. Currently, there are two types of CI checks:
- Compile: This check will compile the code on CentOS and Ubuntu.
- Farm: This check will run the unit tests and some mysql test cases.
Note: If the farm failed and you think it is not related to your changes, you can ask the reviewer to re-run the farm or the reviewer will re-run the farm.
In default, the pull request is merged into develop branch which is the default branch of oceanbase. We will merge develop into master branch periodically. So if you want to get the latest code, you can pull the master branch.
If you want to develop a new feature, you should create a discussion first. If your idea is accepted, you can create a new issue and start to develop your feature and we will create a feature branch for you. After you finish your feature, you can create a pull request to merge your feature branch into oceanbase feature branch. The flow like below.
- Create a discussion
- Create a new issue
- Create a new feature branch on oceanabse for your feature
- Make your changes and commit them
- Push your changes to your fork
- Create a pull request to merge your code into feature branch
- After your pull request is merged, we will merge your feature branch into master