Cómo contribuir al proyecto WebRTC

Contrato de licencia

WebRTC acepta parches o solicitudes de extracción para funciones y correcciones de errores.

En el caso de los 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 colaboradores antes de que se pueda aceptar una contribución. Completa el acuerdo para una persona física o una corporación según corresponda.

Cómo contribuir con muestras

Si planeas agregar un nuevo feed de samples o realizar cambios significativos en uno existente, te recomendamos que primero crees un problema nuevo en el que podamos analizar los detalles.

Cuando crees una muestra nueva o actualices una existente, asegúrate de también 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 el tuyo.

Instrucciones

Cómo enviar tu primer parche

Debes hacer algunos preparativos para subir tu primera CL:

  • Consulta y compila el código
  • Completa el Acuerdo de colaborador (consulta más arriba).
  • Si nunca enviaste código, debes agregar tu nombre (o el de tu organización, en caso de que esta firme el acuerdo de colaborador) y tu información de contacto al 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 el comando git cl creds-check. Si recibes algún error, solicita ayuda en discuss-webrtc.

No tendrás que repetir lo anterior. Después de todo esto, estarás listo para subir contenido:

Cómo subir tu primer parche

Ahora que configuraste tu cuenta, puedes realizar la carga:

  • Realizar la siguiente acción:

    • Si estás en la rama principal, haz lo siguiente:
      • 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á modificarlos antes de que se conviertan en la descripción de la CL.

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

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

      Si todo va bien, el comando imprimirá un vínculo como https://webrtc-review.googlesource.com/c/src/+/53121.

  • Haz clic en este vínculo de la CL

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

  • Haz clic en Comenzar revisión y agrega un revisor. Puedes encontrar revisores en los archivos OWNERS del repositorio (elige el más cercano a tus cambios).

  • Responde los comentarios de los revisores:

    • Realiza cambios, compila de forma local y ejecuta pruebas de forma local
      • git commit -am "Fixed X and Y"
      • git cl upload
  • Una vez que el revisor LGTM (apruebe) el parche, pídele que lo coloque en la fila de confirmación.

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

Trybots

Si trabajas mucho con 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 bugs.webrtc.org y pídele al equipo de EngProd que te otorgue derechos de prueba.

Para ejecutar una prueba de trabajo, sube una CL como se describió anteriormente y haz clic en la prueba de CQ o en Choose Trybots en la IU de Gerrit. Para ello, debes tener derechos de prueba. De lo contrario, pídele al revisor que inicie los bots por ti.