为 WebRTC 项目贡献代码

许可协议

WebRTC 欢迎提交功能和 bug 修复的补丁/拉取请求!

对于 Google 以外的贡献者,请按照 Google 个人贡献者许可协议中的说明操作。无论在何种情况下,贡献者都必须先签署贡献者许可协议,然后我们才能接受其贡献。请根据需要填写个人公司协议。

贡献示例

如果您打算添加新示例或对现有示例进行重大更改,我们建议您先创建新问题,以便我们讨论详细信息。

创建新示例或更新现有示例时,请务必一并创建或更新所有现有测试。该代码库中的所有测试都实现为 Nightwatch.JS 界面测试,因此请在您自己的测试中遵循相同的设计。

操作说明

贡献您的首个补丁

您必须进行一些准备工作,才能上传第一个 CL:

  • 检出并构建代码
  • 填写贡献者协议(见上文)
  • 如果您之前从未提交过代码,则必须将您的姓名(如果贡献者协议由贵组织签署,则为贵组织的姓名)和联系信息添加到 AUTHORS 文件中
  • 前往 https://webrtc.googlesource.com/new-password,然后使用您的电子邮件账号登录。此账号应与 git config user.email 返回的账号相同
  • 然后,运行以下命令:git cl creds-check。如果您收到任何错误,请在 discuss-webrtc 上寻求帮助

您无需重复上述步骤。完成以上所有操作后,您就可以上传以下内容了:

上传您的第一个补丁

现在,您已设置好账号,接下来可以进行实际上传了:

  • 执行此操作:

    • 假设您位于主分支:
      • git checkout -b my-work-branch
    • 进行更改、在本地构建、在本地运行测试

      • git commit -am "Changed x, and it is working"
      • git cl upload

      系统随即会打开一个文本编辑器,其中会显示所有本地提交消息,以便您在其成为 CL 说明之前进行修改。

      正确填写 bug 条目。请指定问题跟踪器前缀和问题编号(以冒号分隔),例如 webrtc:123chromium:12345。如果您没有问题跟踪器前缀和问题编号,只需添加 None 即可。

      保存并关闭该文件,以继续将其上传到 WebRTC 代码审核服务器

      如果一切顺利,该命令将输出类似 https://webrtc-review.googlesource.com/c/src/+/53121 的链接。

  • 点击此 CL 链接

  • 如果您尚未登录,请点击右上角的“登录”按钮,然后使用电子邮件地址登录

  • 点击“开始审核”并添加审核者。您可以在代码库周围的 OWNERS 文件中找到审核员(请选择与您的更改最接近的审核员)

  • 解决所有评价者反馈:

    • 进行更改、在本地构建、在本地运行测试
      • git commit -am "Fixed X and Y"
      • git cl upload
  • 在审核员 LGTM(批准)补丁后,请他们将其放入提交队列

注意:在 Windows 上,您需要在 Git bash shell 中运行上述命令,以便 gclient 找到 .gitcookies 文件。

Trybots

如果您经常使用 WebRTC,可以申请试用权。这意味着,您可以运行 trybots,它会在所有平台上运行所有测试。为此,请在 bugs.webrtc.org 上报告 bug,并要求 EngProd 团队向您授予试用权限。

如需运行试用作业,请按照上述说明上传 CL,然后在 Gerrit 界面中点击“CQ 模拟运行”或“选择 Trybots”。您需要拥有试用权限才能执行此操作。否则,请让审核员为您启动聊天机器人。