Colaborar con Pull Requests en GitHub

english

Ahora es momento de que colabores con otros estudiantes que están siguiendo esta clase alrededor de todo el mundo :earth_americas:.

  1. En el repositorio de la clase en GitHub.com, navega a la pestaña Pull Requests.
  2. Echa un vistazo a los otros pull requests. ¿Parecen buenos cambios, con los tests de CI aprobados? ¡Siéntete libre de enviar un mensaje de ánimo!
  3. En tu pull request, espera a ver si el branch pasa los tests de Travis CI y está listo para hacer merge.
Ayúdame a resolver

Ayuda: Mi Build ha fallado

El repositorio de la clase está utilizando integración continua a través de Travis CI para hacer tests al código que has enviado. Para simplificar, está comprobando que la sintaxis es correcta en tu archivo.

Los archivos que estamos usando son muy delicados. Si has cometido algún error, verás un mensaje de que tu build ha fallado. Esto generalmente significa que el texto que has introducido es incorrecto. Comprueba la sintaxis con cuidado, compárala con las instrucciones y modifica tu archivo como sea necesario.

Cuando hagas commit de tus cambios, Travis CI volverá a comprobar tu archivo.

Continúa haciendo esto hasta que veas un mensaje de que el build ha pasado. Si necesitas ayuda, no olvides que puedes mencionar a @githubteacher en tu pull request.

Ayuda con problemas específicos

El build puede fallar por diversos motivos. Observar los detalles del log de Travis CI puede ayudarte a resolver los problemas en tu código.

  1. Abre el Pull request
  2. Baja hasta abajo al icon “merge” en la sección donde dice ‘checks have failed’.
    Aquí verás muchas ‘x’s rojas :x:. Malo.
  3. Abre los Details

El log o registro del build de Travis CI puede parecer un poco críptico. Pero con una lectura cuidadosa puede que seas capaz de adivinar la razón por la que tu build está fallando (por cierto, si piensas que el job log es críptico, échale un vistazo al Raw log).

El script para el build consiste en una serie de comandos. Puede resultar de ayuda saber que cada nuevo comando empieza con un símbolo $. Dichos comandos pueden ser algo simple o un nuevo (sub)script. Las propiedas individuales de tu branch se testean en scripts individuales. Por ejemplo, Travis CI comprueba muy al principio que tu archivo esté formateado de manera apropiada como un “archivo .yaml”.


Error 404

En algún punto de la cascada de tests Travis CI comprobará que la URL después de pageUrl realmente existe. El test y el build completo fallarán si un sitio web no existe (un “error 404”).

Es posible que hayas escrito la URL mal o algo haya ido mal mientras intentabas publicar tu sitio web. También puede ser que otros usuarios que hayan hecho merge anteriormente de su branch con master hayan eliminado sus repositorios y su sitio web haya desaparecido.

Intenta descubrir a través del log qué URL está causando un error 404. Puedes comprobar si el sitio web existe copiando la URL en tu navegador.

Dado que estás trabajando en tu propio branch, es seguro cambiar el código como quieras. Si ves algo que puedes arreglar fácilmente, podrías simplemente editar el archivo erróneo. Por ejemplo puedes sustituir la URL rota por algo que sí existe (como github.com). Una solución más rigurosa sería eliminar completamente el archivo.

Una vez que tu solución es correcta y el build ya no falla, estás listo para hacer merge de tu branch con el master. Podrías tener algunos conflictos con el merge que tendrás que resolver primero. Pregunta a @githubteacher si te atascas.


Ayuda: algo va mal

Este es un repositorio ajetreado con muchas contribuciones. Si ves algún mensaje diferente, comprueba esta la guía para resolución de problemas:

Mensaje ¿Qué hacer?
This branch has conflicts and cannot be merged Este mensaje te está diciendo que alguien ha realizado cambios en master que entran en conflicto con los cambios que has hecho en tu archivo. No veremos los conflictos en esta clase así que menciona con @ a @githubteacher desde tu Pull Request e intentaremos ayudarte a resolverlo.
Dime por qué

Revisando el Flujo GitHub

  1. :white_check_mark: Crear un branch
  2. :white_check_mark: Hacer commits
  3. :white_check_mark: Abrir un Pull Request
  4. Colaborar, y hacer más commits :arrow_left: (Esta sección trata sobre este paso.)
  5. Hacer merge del Pull Request

Entender la Integración Contínua

Nuestro repositorio de clase utiliza integración contínua (CI o Continuous Integration) para garantizar que los archivos que se añaden se ajustan a ciertas normas. Por ejemplo, nuestros tests están comprobando para asegurarse de que has formateado el archivo correctamente y que lo has ubicado en el directorio correcto dentro del repositorio.

Si los tests no pasan en tu Pull Request, no podrás hacer merge hasta que hayas resuelto el problema. Si necesitas ayuda, consulta la sección Ayúdame a resolver de más arriba.

¿Atascado? Abre un tema (issue) en el repositorio para esta clase y menciona a @githubteacher para obtener ayuda de uno de los instructores de GitHub.
Continuar