0:00:04.960,0:00:10.960 Lo que me gustaría presentarles hoy son las implicancias del uso de las Acciones de GitHub como mencionó 0:00:10.960,0:00:18.160 Mike y cómo evitar efectos inesperados en tu flujo de trabajo de desarrollo y en la dinámica de tu grupo. 0:00:20.400,0:00:27.360 Así que históricamente hay una gran cantidad de trabajo manual que ha sido automáticamente - detectado automáticamente, 0:00:27.360,0:00:37.440 y que ha sido automatizado - lo siento - por las herramientas de flujos de trabajo de automatización también por los bots 0:00:37.440,0:00:45.360 de software y herramientas de integración continua, y recientemente GitHub también introdujo para ayudar durante este 0:00:45.360,0:00:52.320 proceso de automatización de issues y los flujos de trabajo de pull request, por lo que GitHub Actions. 0:00:53.520,0:01:01.360 Y probablemente todos sepamos lo que es una acción de GitHub, pero lo que no sabemos, y lo que no 0:01:01.360,0:01:08.160 entendemos, es lo que hace, y lo que implica su uso en tu proyecto, 0:01:08.160,0:01:14.080 en tus repositorios. Así que, básicamente, las Acciones de GitHub fueron creadas para automatizar 0:01:14.720,0:01:20.240 tareas basadas en varios disparadores. Por ejemplo, la creación de una nueva rama, 0:01:20.240,0:01:26.240 o comentarios, pull requests, y también comentarios sobre estas solicitudes y comentarios, 0:01:26.240,0:01:33.680 y puede ser fácilmente compartido de un repositorio a otro haciendo más fácil la automatización de cómo construir, 0:01:33.680,0:01:41.840 probar y desplegar proyectos de software. Así que es muy fácil de usar, y para utilizar en diferentes proyectos. 0:01:41.840,0:01:50.720 Por lo tanto, - está destinado a ayudar a los desarrolladores para automatizar el flujo de trabajo. Y este es un ejemplo 0:01:50.720,0:01:59.920 típico de una acción de bienvenida: podemos ver que las acciones son tratadas como código. Así que tenemos estos 0:01:59.920,0:02:07.280 archivos de configuración, por lo que esperamos interactuar con él y también tratarlo 0:02:07.280,0:02:14.640 como código. Y este código puede generar algunas salidas en nuestros proyectos, por ejemplo, esta acción de GitHub, 0:02:15.280,0:02:20.400 esta acción de bienvenida, crea un comentario en nuestro proyecto. 0:02:21.680,0:02:28.560 Pero entonces, ¿cómo utilizan los desarrolladores esta acción? Esto es algo que hemos estudiado. Así que mirando los 0:02:28.560,0:02:37.200 archivos de configuración de estas acciones para 3000 proyectos - diferentes proyectos - 0:02:37.200,0:02:47.120 encontramos 700 acciones diferentes que se usan. Y estas acciones están repartidas en 20 categorías, 0:02:47.120,0:02:52.640 y estas son las más comunes. Así que las acciones de integración continua, las utilidades, 0:02:52.640,0:02:59.840 el despliegue, la publicación, y la calidad del código. Y también encontramos que una acción típica se añade dos veces 0:03:00.640,0:03:07.520 y nunca se quita o se modifica, lo que significa que casi nadie revisa esta configuración, 0:03:07.520,0:03:15.040 en esta decisión. Así que una vez que se incluye la acción casi nadie la revisa. Sin embargo, algunas acciones 0:03:15.040,0:03:23.440 específicas se eliminan, sus argumentos se cambian muchas veces. Así que desde que mencioné que esperamos 0:03:23.440,0:03:30.800 tratarlo como código, aquí vemos que no lo estamos tratando como código, porque una vez que añadimos una 0:03:30.800,0:03:38.080 nueva acción a nuestro proyecto estamos añadiendo una nueva dependencia. Así que cada vez que tenemos que mantener 0:03:38.080,0:03:46.560 esta acción tenemos que volver a revisarla y tenemos que mantenerla actualizada, por lo que es una nueva dependencia que añadimos. 0:03:47.920,0:03:54.400 Y también miro cómo los desarrolladores están discutiendo lo que están diciendo acerca de estas acciones. 0:03:55.840,0:04:05.040 Básicamente, los desarrolladores discuten sobre el mantenimiento de estas acciones 0:04:05.040,0:04:11.760 y también sobre la implementación. Así que para ellos es realmente importante como - cómo se mantiene 0:04:11.760,0:04:17.840 porque es una nueva dependencia, ¿verdad?, y también cómo implementar - cómo crear una nueva 0:04:17.840,0:04:24.960 basada en sus necesidades, por lo que también incluye las discusiones sobre el cambio de una automatización 0:04:25.680,0:04:33.440 a otra, por ejemplo, herramientas de CI/CD, a las acciones, y también algunas sugerencias sobre cómo implementar 0:04:33.440,0:04:42.960 esta acción y también solicitar nuevas acciones. Así que de nuevo aquí vemos que una vez que añadimos una nueva acción 0:04:42.960,0:04:49.120 no sólo estamos añadiendo una nueva pieza de código que va a automatizar nuestro flujo de trabajo: 0:04:49.120,0:04:57.360 estamos añadiendo una nueva dependencia. Así que creemos que estamos añadiendo código, y estamos tratando con el código, 0:04:57.920,0:05:04.480 pero estamos discutiendo - estamos tratando de manera diferente y estamos discutiendo sobre 0:05:04.480,0:05:14.720 ella - cómo sus dependencias y herramientas. Y también, es importante para nosotros 0:05:14.720,0:05:21.680 saber cuál es el impacto de añadir esta nueva dependencia a nuestro proyecto. Así que estaba buscando 0:05:22.800,0:05:29.840 en diferentes repositorios, lo que hicieron antes de la introducción de estas acciones, y cómo fue 0:05:29.840,0:05:36.400 después de la introducción de esta acción. Puedo ir en más detalles más tarde si quieren saber más al respecto, 0:05:36.400,0:05:40.560 pero básicamente nos fijamos en esto - un montón de diferentes métricas antes y después, 0:05:41.280,0:05:47.040 y vemos que hay dos cosas interesantes aquí. En primer lugar, hay un aumento en el número 0:05:47.680,0:05:54.080 de contribuciones rechazadas. Así que tienes, después de la incorporación de estas acciones, se pueden ver 0:05:54.080,0:06:01.040 más pull request rechazados en su proyecto. ¿Es algo que esperabas? ¿Quieres 0:06:01.040,0:06:07.120 ¿Y por qué estás rechazando más? Así que es importante tenerlo en cuenta. Y también 0:06:07.120,0:06:14.720 hay una disminución en el número de commits que los pull requests que se mergearon deben tener. Así 0:06:14.720,0:06:23.600 que estas dos cosas, por lo menos estos dos impactos, los vas a ver en tu proyecto. Así que, básicamente, 0:06:25.600,0:06:32.640 es importante tener en cuenta que tenemos primero una percepción y la realidad. La percepción 0:06:32.640,0:06:42.000 que tenemos es que estamos añadiendo una nueva herramienta, pero en realidad la adopción de las acciones de GitHub está tomando una 0:06:42.000,0:06:53.280 dependencia, y entonces tenemos que tratarlo como una nueva dependencia a nuestro proyecto. Además, el uso 0:06:53.280,0:07:02.240 de GitHub Actions también podría afectar a la forma de trabajar de la comunidad. Así que la cantidad de trabajo que los desarrolladores tienen 0:07:02.240,0:07:08.800 que hacer para cada nuevo pull request, para cada nueva contribución que quieren hacer en su proyecto, 0:07:09.360,0:07:16.400 y cómo interactúan. Así que estas dos cosas podrían ser diferentes de lo que estás esperando 0:07:16.400,0:07:23.360 cuando se agrega una nueva dependencia, por lo que debe tener cuidado. Y lo que sugiero es que 0:07:23.360,0:07:29.520 tienes que medir la diferencia. Así que si quieres entender lo que está pasando y lo que 0:07:29.520,0:07:34.960 vas a ver en tu proyecto, y si quieres entender, si no estás teniendo 0:07:34.960,0:07:42.720 ningún resultado inesperado de estas acciones, tienes que medir lo que está pasando con tus 0:07:42.720,0:07:49.440 proyectos - con tus proyectos. Así que, por ejemplo, si estás pensando en utilizar las Acciones de GitHub y te 0:07:49.440,0:07:56.880 preocupa el rendimiento -el rendimiento de tu código-, tienes que medir los cambios en el código. 0:07:57.440,0:08:05.840 Cómo era antes y cómo es después de añadir estas nuevas acciones. Y si te preocupa la comunidad, 0:08:07.520,0:08:13.680 cómo se comunican los desarrolladores entre sí, y cuánto trabajo necesitan hacer, y cómo 0:08:13.680,0:08:20.800 cambia el flujo de trabajo de desarrollo y cómo afecta a los desarrolladores, entonces tienes que medir 0:08:21.680,0:08:28.880 la comunicación de los desarrolladores y la cantidad de trabajo y cómo lo están haciendo antes y después 0:08:29.920,0:08:38.720 de la introducción de estas acciones. Así que esto es lo que quiero mostrar hoy y 0:08:40.640,0:08:50.320 si tienes alguna pregunta estaré encantado de responderla. Gracias.