For more information, see the official website How to contribute to the project
Thank you very much for contributing to the Linkis project! Before participating in the contribution, please read the following guidelines carefully.
We recommend that whether it is a bug feedback or a fix, an issue is first created to describe the bug in detail, so that the community can find and review the problem and code through the issue record. Bug feedback Issues usually need to include complete description of the bug information and reproducible scenarios so that the community can quickly locate the cause of the bug and fix it. All open issues that contain the #bug
tag need to be fixed.
In the communication process, a detailed description, mechanisms and usage scenarios of the new function (or refactoring) can promote it to be implemented better and faster (including test cases and codes, and CI/CD related work). If you plan to implement a major feature (or refactoring), be sure to communicate with the core development team through Issue or other means so that everyone can promote it in the most efficient way. Issues opened with the label of #feature
are all new features that need to be implemented, and issues opened with the label of #enhancement
are all features that need to be improved and refactored.
Helping answering the questions in the Linkis community is a very valuable way to contribute; there will always be new users in the community that will keep coming in. While helping new users, you can also show your expertise.
You can find linkis documentations at linkis-Website, and the supplement of the document is also crucial to the development of Linkis.
Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help the Linkis project and the community.
The Linkis source code may have some temporary branches, but only the following three branches are really meaningful:
Synchronize the latest code of the Upstream repository branch to your own Fork repository
Synchronize the new branch of the Upstream repository to your own Fork repository
Scenario: There is a new branch in the Upstream warehouse, but the forked library does not have this branch (you can choose to delete and re-fork, but the changes that have not been merged to the original warehouse will be lost)
Operate in your own clone's local project
git remote add apache git@github.com:apache/incubator-linkis.git
git fetch apache
git checkout -b dev-1.1.4 apache/dev-1.1.4
git push origin dev-1.1.4:dev-1.1.4
git remote remove apache
git pull
Step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 1.1.0 currently under development by the community, then the branch is dev-1.1.0, if you are not sure, you can ask in the community group or at @relevant classmates in the issue)
Step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, see the guide [2.1.2 Synchronize Upstream Repository]
Step3 Based on the development branch, pull the new fix/feature branch (do not modify it directly on the original branch, if the subsequent PR is merged in the squash method, the submitted commit records will be merged into one)
git checkout -b dev-1.1.4-fix dev-1.1.4 git push origin dev-1.1.4-fix:dev-1.1.4-fix
[WIP] Dev 1.1.1 Add junit test code for [linkis-common]
; associate the corresponding issue, etc.)git branch -d dev-1.1.4-fix git push
Please note: For the dev branch of major features, in addition to the version number, the corresponding naming description will be added, such as: dev-0.10.0-flink, which refers to the flink feature development branch of 0.10.0.
Linkis front-end and back-end code share the same code base, but are separated in development. Before starting development, please fork a copy of the Linkis project to your Github Repositories, and develop based on the Linkis code base in your Github Repositories.
We recommend to clone the dev branch and name it dev-fix for development. At the same time, create a new dev-fix branch in your own warehouse and modify it directly on the original branch. If the subsequent PR is merged in the squash method, the submitted commit records will be merged into one
#pull the branch git clone https://github.com/{githubid}/incubator-linkis.git --branch dev #Generate local dev-fix branch according to dev git checkout -b dev-fix dev #Push the local dev-fix branch to your own repository git push origin dev-fix dev-fix
<type>(<scope>): <subject>
, for details, please refer to Ruan Yifeng's Commit message and Change log writing guide this article.Before contributing code, you can find out what kind of submissions are popular in Review. Simply put, if a submission can bring as many gains as possible and as few side effects or risks as possible, the higher the probability of it being merged, the faster the review will be. Submissions with high risk and low value are almost impossible to merge, and may be rejected Review.
If you have submitted a valuable PR to Linkis and have been merged, or contributed continuously for more than half a year, and have led the release of at least one version, you can find a PMC of the Linkis project through the official WeChat group, if he is willing to nominate you as a committer , And are willing to state your contribution to all PMC and Committer, then a vote will be initiated; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become Committer of the Linkis project .
If you are the Committer of the Linkis project, and all your contributions have been recognized by other Committee members, you can apply to become a member of the Linkis Committee, and other Committee members will vote together to decide whether to allow you to join. If you pass unanimously, you will become a member of the Linkis Committee.