Cache resources/_gen in CI to skip repeated WebP encoding

Abierto Apto para principiantes
#1,283 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
github-actions, hugo
Área
ci-cd

Línea de trabajo

El cambio pertenece a .github/workflows/hugo.yaml y .github/workflows/build-docs-preview.yml, que actualmente compilan sin almacenar en caché resources/_gen. Lee cómo ejecuta cada workflow su compilación de Hugo; luego revisa la sección [imaging] de hugo.toml y render-image.html para elegir las entradas de la clave de caché. Está terminado cuando una segunda ejecución de CI sin cambios de imagen restaura la caché y termina cerca del tiempo de compilación en caliente de unos 16s.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area/ci area/performance kind/enhancement

Follow-up from #1257 / #1259.

Since #1259, a cold build encodes WebP derivatives for every content PNG/JPEG, which took a full build from 14.7s to 72.9s. With resources/_gen present a build takes about 16s.

Neither .github/workflows/hugo.yaml nor .github/workflows/build-docs-preview.yml caches resources/_gen, so every deploy and every preview build pays the ~58s encode.

Proposal

Add an actions/cache step for resources/_gen in both workflows, keyed on the image sources and the image-processing settings (hugo.toml [imaging], render-image.html) so a quality change invalidates it.

Done when

A second CI run with no image changes restores the cache and builds in roughly the warm-build time.

Lenguaje dominante
JavaScript
Estrellas
103
Forks
227
Merge medio
15 h 45 min
PR fusionados (30 d)
63

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de layer5io/docs

Todos los issues de layer5io/docs

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.