Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Análisis incremental en una solicitud de cambios

5 tareas · 40 min · Principiante

El análisis semántico es lento, así que se lanza de dos maneras: completo y periódico sobre la rama principal, y sobre cada solicitud de cambios antes de fusionar. La pregunta útil de una solicitud no es «¿cuántas alertas tiene el proyecto?» sino «¿qué cambia con esta solicitud?». En esta sala comparas las alertas de la rama principal de api-pedidos con las de la solicitud 77 y lees qué analiza y qué no su configuración.

0 de 5 · 0%

Objetivo de la sala

El análisis semántico es lento, así que se lanza de dos maneras: completo y periódico sobre la rama principal, y sobre cada solicitud de cambios antes de fusionar. La pregunta útil de una solicitud no es «¿cuántas alertas tiene el proyecto?» sino «¿qué cambia con esta solicitud?». En esta sala comparas las alertas de la rama principal de api-pedidos con las de la solicitud 77 y lees qué analiza y qué no su configuración.

Un flujo de trabajo de análisis puede lanzarse cuando se abre o actualiza una solicitud de cambios (evento pull_request). La documentación de GitHub recomienda que ese análisis se haga sobre el commit de fusión de la solicitud, no sobre la cabeza de la rama: da resultados más eficientes y más fieles a lo que quedará en la rama principal. Los repositorios con cola de fusión añaden el evento merge_group para que también se analicen al entrar en la cola.

Esto se ve en el flujo de la solicitud: el comentario del paso de descarga del código lo dice.

Responde para continuar

¿Por qué conviene analizar el commit de fusión y no la cabeza de la rama de la solicitud?

Lo que la solicitud introduce se ve comparando dos listas: las alertas de la rama principal antes de fusionar y las del commit de fusión. Una alerta que está en la segunda y no en la primera es nueva; la solicitud la causa y a ella se le pide que la corrija.

Compara los dos archivos de la carpeta alertas.

Responde para continuar

Escribe el id de la alerta que la solicitud 77 introduce.

La comparación también funciona al revés: una alerta que estaba en la rama principal y ya no está en el commit de fusión la corrigió la solicitud (o la movió fuera del código analizado, que habría que comprobar). Es una buena noticia que conviene registrar, porque el equipo ve el efecto de lo que corrige.

La descripción de la solicitud dice qué archivos toca.

Responde para continuar

Escribe el id de la alerta que la solicitud 77 corrige.

Las alertas que existían antes de la solicitud y siguen después no son culpa suya. Aparecen en el informe completo del commit de fusión, pero no deben frenarla: de lo contrario nadie podría fusionar nada hasta limpiar el pasado, y el equipo acabaría desactivando el control. Esas alertas pertenecen al tablero de deuda de seguridad, con su propio plazo.

Responde para continuar

¿Cuántas alertas que ya estaban en la rama principal siguen abiertas en la solicitud 77? Escribe solo el número.

El análisis de una solicitud solo cubre lo que su configuración permite. Con paths-ignore se excluyen carpetas; con languages se eligen los lenguajes. Un cambio en una carpeta excluida llega a la rama sin pasar por el análisis. En api-pedidos se excluyen pruebas y docs, y la solicitud 77 añade un archivo nuevo dentro de pruebas.

Responde para continuar

La solicitud 77 trae un archivo nuevo dentro de la carpeta excluida. ¿Qué conclusión es razonable?

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad