Linear ha implementado una serie de optimizaciones en su pipeline de integración y despliegue continuo (CI) para mitigar el cuello de botella generado por la aceleración del desarrollo con agentes de IA. El objetivo principal era reducir el tiempo de espera de las solicitudes de extracción (PR) y minimizar el consumo de recursos de ejecución, dado que la validación de código no se ha adaptado a la misma velocidad que su creación.
La empresa, cuyo código base es predominantemente TypeScript, ha logrado reducir el tiempo medio de espera de una PR de más de seis minutos a poco más de cinco minutos, mientras que el tiempo de ejecución por prueba se ha reducido a la mitad. Estas mejoras se han logrado mediante cuatro estrategias clave: modernización de la infraestructura, optimización de las tareas críticas, reducción de configuraciones repetidas y mejora de la eficiencia en la ejecución de pruebas.
En cuanto a la infraestructura, Linear migró de GitHub Actions a runners de terceros con CPUs más rápidas y mejor gestión de caché, lo que aceleró las tareas en un 34% en promedio. Además, el cambio al compilador nativo tsgo redujo el tiempo de verificación de tipos en un 73%. En el ámbito de la linting, se eliminó la dependencia de la información de tipos mediante análisis estático sobre el árbol sintáctico abstracto, lo que permitió a ESLint eliminar TypeScript y reducir el tiempo de linting completo en un 55%. También se optimizaron las tareas de detección de cambios y se reemplazó actions/checkout por una acción compuesta más resiliente ante la inestabilidad de red, reduciendo los tiempos de espera en la ruta crítica. Finalmente, se redujo el tiempo de configuración repetida instalando solo las dependencias necesarias en cada job y evitando la recreación de entornos cuando no es necesario, lo que disminuyó el tiempo de configuración por shard en un 44%.
