8 puntos por adldotori 2023-05-14 | 1 comentarios | Compartir por WhatsApp

Muchas personas usan GitHub Action en GitHub para ejecutar pipelines de CI/CD. Para lograr builds rápidas, se usa mucho la caché, y al principio no hay grandes problemas; pero cuando el servicio crece o aumenta la cantidad de ramas, la caché deja de funcionar y todo se vuelve a compilar cada vez, por lo que la velocidad empieza a disminuir. Esto se debe a que la caché predeterminada de GitHub Actions tiene un límite de tamaño de 10 GB.
Para resolver este problema, desarrollamos un paquete que permite hacer caché localmente en un self-hosted runner.

      - name: Cache node dependencies  
        id: node-cache  
        uses: corca-ai/local-cache@v2  
        with:  
          path: node_modules  
          key: node-${{ hashFiles(‘yarn.lock’) }}  
          clean-key: node-  

en lugar de usar un github-hosted runner, se puede usar un self-hosted runner, y basta con cambiar la parte de uses de la caché existente a corca-ai/local-cache para empezar a usarlo de inmediato.
Desaparece la limitación de tamaño de la caché y, mientras que la caché anterior cargaba los archivos de caché a través de la red, la caché local los carga directamente desde el disco, por lo que la velocidad de caché mejora de forma drástica. En nuestro caso, percibimos una mejora de velocidad de más de 5 veces.

1 comentarios

 
tujuc 2025-04-09

Hay algo similar: maxnowack/local-cache.