Como contribuir para o projeto WebRTC

Contrato de licença

O WebRTC aceita patches e pulls de recursos e correções de bugs.

Para colaboradores externos ao Google, siga as instruções fornecidas no Contrato de licença de colaborador individual do Google. Em todos os casos, os colaboradores precisam assinar um contrato de licença para que uma contribuição possa ser aceita. Preencha o contrato de um indivíduo ou uma corporação conforme necessário.

Amostras de contribuições

Se você pretende adicionar uma nova amostra ou fazer alterações significativas em uma existente, recomendamos começar criando um novo problema em que podemos discutir os detalhes.

Ao criar uma nova amostra ou atualizar uma existente, certifique-se também de criar ou atualizar os testes existentes. Todos os testes nesse repositório são implementados como testes de IU do Nightwatch.JS. Portanto, siga seu mesmo design.

Instruções

Contribuir com seu primeiro patch

Você precisa se preparar para fazer o upload do seu primeiro CL:

  • Verificar e criar o código
  • Preencha o contrato de contribuição (veja acima)
  • Se você nunca enviou o código antes, adicione seu nome e os dados de contato (ou da organização, caso o contrato de colaborador seja assinado pela sua organização) ao autor
  • Acesse https://webrtc.googlesource.com/new-password e faça login com sua conta de e-mail. Precisa ser a mesma conta retornada por git config user.email
  • Em seguida, execute: git cl creds-check. Se você receber algum erro, peça ajuda em discuss-webrtc.

Não será necessário repetir o processo acima. Depois de tudo isso, você poderá fazer o upload de:

Fazendo upload do primeiro patch

Agora que sua conta está configurada, faça o upload real:

  • Faça isto:

    • Supondo que você esteja na ramificação principal:
      • git checkout -b my-work-branch
    • Fazer alterações, criar localmente e executar testes localmente

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

      Isso abrirá um editor de texto mostrando todas as mensagens de confirmação locais, permitindo que você o modifique antes de se tornar a descrição do CL.

      Preencha a entrada do bug corretamente. Especifique o prefixo e o número do Issue Tracker separados por dois pontos, por exemplo, webrtc:123 ou chromium:12345. Se você não tiver um prefixo e um número do Issue Tracker, basta adicionar None.

      Salve e feche o arquivo para continuar o upload no servidor de revisão de código WebRTC.

      O comando imprimirá um link como https://webrtc-review.googlesource.com/c/src/+/53121 se tudo estiver bem.

  • Clique neste link do CL

  • Se não tiver feito login, clique no botão de login no canto superior direito e faça login com seu e-mail.

  • Clique em "Iniciar revisão" e adicione um revisor. Você pode encontrar revisores nos arquivos OWNERS ao redor do repositório (aquele que mais se aproxima das suas alterações)

  • Responda a qualquer feedback dos revisores:

    • Fazer alterações, criar localmente e executar testes localmente.
      • git commit -am "Fixed X and Y"
      • git cl upload
  • Depois que os revisores LGTMs (aprovam) o patch, peça para colocá-los na fila de confirmação

AVISO: no Windows, é preciso executar o código acima em um shell bash do Git para que o gclient encontre o arquivo .gitcookies.

Bots de tentativa

Se você trabalha muito no WebRTC, pode solicitar direitos de teste. Isso significa que você pode executar os trybots, que executam todos os testes em todas as plataformas. Para isso, registre um bug em bugs.webrtc.org e peça à equipe do EngProd para conceder a você os direitos de tentativa.

Para executar um tryjob, faça upload de um CL conforme descrito acima e clique em "Simulação de CQ" ou Escolha "Testar" na IU do Gerrit. Você precisa ter direitos de teste para fazer isso. Caso contrário, peça ao revisor para iniciar os bots.