Contribuye al proyecto WebRTC

Contrato de licencia

WebRTC acepta parches y extracciones de funciones y correcciones de errores.

Para colaboradores externos a Google, sigue las instrucciones que se indican en el Contrato de Licencia para Colaboradores Individuales de Google. En todos los casos, los colaboradores deben firmar un contrato de licencia para poder aceptar una contribución. Completa el acuerdo para una persona física o una corporación según corresponda.

Muestras de contribución

Si planeas agregar una muestra nueva o realizar cambios significativos en una muestra existente, te recomendamos que comiences por crear un problema nuevo en el que podamos analizar los detalles.

Cuando crees una muestra nueva o actualices una existente, asegúrate de crear o actualizar las pruebas existentes. Todas las pruebas de ese repositorio se implementan como pruebas de IU de Nightwatch.JS, por lo que debes seguir el mismo diseño en tu sitio.

Instrucciones

Cómo contribuir con tu primer parche

Debe preparar algunos elementos para subir su primera lista de cambios:

  • Paga y compila el código
  • Complete el Acuerdo de colaborador (consulte la información anterior).
  • Si nunca antes enviaste el código, debes agregar tu nombre (o el de tu organización en el caso de que tu organización firme el nombre de la organización) y la información de contacto en el archivo AUTHORS.
  • Ve a https://webrtc.googlesource.com/new-password y accede con tu cuenta de correo electrónico. Debe ser la misma cuenta que muestra git config user.email
  • Luego, ejecuta git cl creds-check. Si recibes algún error, pide ayuda en analyze-webrtc

No tendrá que repetir lo anterior. Una vez completado el proceso, podrás subir lo siguiente:

Cómo subir tu primer parche

Ahora que ya configuró su cuenta, puede realizar la carga real:

  • Realiza lo siguiente:

    • Suponiendo que estás en la rama principal:
      • git checkout -b my-work-branch
    • Realiza cambios, compila de forma local y ejecuta pruebas de forma local

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

      Se abrirá un editor de texto que mostrará todos los mensajes de confirmación locales, lo que te permitirá modificarlo antes de que se convierta en la descripción de la CL.

      Completa correctamente la entrada del error. Especifica el prefijo de seguimiento de problemas y el número de problema, separados por dos puntos, p.ej., webrtc:123 o chromium:12345. Si no tienes un prefijo ni un número de seguimiento de problemas, solo agrega None.

      Guarda y cierra el archivo para continuar con la carga en el servidor de revisión de código de WebRTC.

      El comando imprimirá un vínculo como https://webrtc-review.googlesource.com/c/src/+/53121 si todo funciona correctamente.

  • Hacer clic en este vínculo de CL

  • Si aún no accediste, haz clic en el botón Acceder en la parte superior derecha y accede con tu correo electrónico.

  • Haz clic en Comenzar opinión y agrega un revisor. Puedes encontrar revisores en archivos de OWNERS en el repositorio (el que esté más cerca de tus cambios).

  • Resuelve los comentarios de los revisores:

    • Realizar cambios, compilar de forma local y ejecutar pruebas de forma local
      • git commit -am "Fixed X and Y"
      • git cl upload
  • Una vez que los LGTM (que aprueban) el parche, pídeles que los coloquen en la cola de confirmación

AVISO: En Windows, deberás ejecutar lo anterior en un shell de Bash de Git para que gclient pueda encontrar el archivo .gitcookies.

Robots de intento

Si trabajas mucho en WebRTC, puedes solicitar derechos de prueba. Esto significa que puedes ejecutar los trybots, que ejecutan todas las pruebas en todas las plataformas. Para ello, informa un error en bug.webrtc.org y pídele al equipo de EngProd que te otorgue los derechos necesarios.

Para ejecutar un intento, sube una CL como se describió antes y haz clic en Ejecución de prueba de CQ o Elige Trybots en la IU de Gerrit. Debes tener derechos para realizar la prueba. De lo contrario, pídele al revisor que inicie los bots por ti.