11-0_Contributors.md 3.5 KB
Newer Older
T
TeslaZhao 已提交
1 2
# 开发者贡献

T
TeslaZhao 已提交
3
## 贡献代码流程
T
TeslaZhao 已提交
4

T
TeslaZhao 已提交
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
Paddle Serving 使用 Git 分支模式。通常,按以下步骤贡献代码:
- 创建个人仓库
- 本地克隆仓库和分支
- 提交代码
- 通过 CI 验证
- Code Review
- 代码合入

**一.创建个人仓库**

Paddle Serving 社区一直在快速发展,每个人都写到官方回购中是没有意义的。所以,请先 `fork` 出个人仓库,并提交 `Pull Requests``fork` 个人仓库,只需前往 [Serving](https://github.com/PaddlePaddle/Serving) 页面并单击右上角 ["Fork"](https://github.com/PaddlePaddle/Serving/fork)

**二.本地克隆仓库和分支**

创建个人仓库后,`clone` 个人仓库到本地计算机,默认创建本地 `develop` 分支。
```bash
git clone https://github.com/your-github-account/Serving
```

**三.提交代码**

本地修改代码并验证后,准备提交代码。在提交代码前请安装 [`pre-commit`](http://pre-commit.com/)、cpplint 和 pylint。
```bash
pip3 install pre-commit
pre-commit install

pip3 install cpplint pylint
```
在提交代码时,会进行代码格式检查和修正,待所有检查都通过后,方可提交。
```shell
   $  git commit
   CRLF end-lines remover...............................(no files to check)Skipped
   yapf.....................................................................Passed
   Check for added large files..............................................Passed
   Check for merge conflicts................................................Passed
   Check for broken symlinks................................................Passed
   Detect Private Key...................................(no files to check)Skipped
   Fix End of Files.........................................................Passed
   clang-format.............................................................Passed
   cpplint..................................................................Passed
   pylint...................................................................Passed
   copyright_checker........................................................Passed
   [my-cool-stuff c703c041] add test file
    1 file changed, 0 insertions(+), 0 deletions(-)
    create mode 100644 233
```

运行代码提交命令,提交到个人仓库,再通过 Github 页面创建一个 `pull request` 提交到 Paddel Serving 主仓库。
```bash
git push origin develop
```

**四.通过 CI 验证**

所有提交到 Paddle Serving 主仓库的 `pull request` 都会运行 `py36``py38``py39`的所有 CI 测试用例。全部通过后才能合入。

**五.Code Review**

所有提交的代码要经过管理员的评审,至少通过2人评审后方可合入。

**六.代码合入**

待通过全部 CI 验证,并且完成 Code Review 和修改后,由仓库管理员合入代码。


## 致谢开发者
T
TeslaZhao 已提交
71 72 73 74 75 76 77 78 79

- 感谢 [@loveululu](https://github.com/loveululu) 提供 Cube python API
- 感谢 [@EtachGu](https://github.com/EtachGu) 更新 docker 使用命令
- 感谢 [@BeyondYourself](https://github.com/BeyondYourself) 提供grpc教程,更新FAQ教程,整理文件目录。
- 感谢 [@mcl-stone](https://github.com/mcl-stone) 提供faster rcnn benchmark脚本
- 感谢 [@cg82616424](https://github.com/cg82616424) 提供unet benchmark脚本和修改部分注释错误
- 感谢 [@cuicheng01](https://github.com/cuicheng01) 提供PaddleClas的11个模型
- 感谢 [@Jiaqi Liu](https://github.com/LiuChiachi) 新增list[str]类型输入的预测支持
- 感谢 [@Bin Lu](https://github.com/Intsigstephon) 提供PP-Shitu C++模型示例