Saltar al contenido
duxt

Guardar fuentes remotas e imágenes OG en caché

Reutiliza descargas de repositorios públicos y tarjetas sociales renderizadas entre builds de CI.

Las descargas de Content y las imágenes OG pueden sobrevivir a un runner efímero. Tienen reglas de invalidación distintas y por eso usan comandos duxt separados.

Fuentes remotas públicas

- id: sources
  run: duxt-cache-key --root . --github >> "$GITHUB_OUTPUT"
- if: steps.sources.outputs.cacheable == 'true'
  uses: actions/cache@v6
  with:
    path: ${{ steps.sources.outputs.paths }}
    key: ${{ steps.sources.outputs.key }}

--root nombra la aplicación Nuxt consumidora. La clave incluye repositorios y refs ya resueltos; contents.sqlite* queda fuera porque es un resultado de parseo. Una sola fuente privada, SSH o autenticada marca toda la lista como cacheable=false. Sin --github, el comando muestra entradas censuradas y el motivo.

Imágenes OG renderizadas

- id: og
  run: duxt-og-cache --root . --run "$GITHUB_SHA" --github >> "$GITHUB_OUTPUT"
- uses: actions/cache@v6
  with:
    path: ${{ steps.og.outputs.path }}
    key: ${{ steps.og.outputs.key }}
    restore-keys: ${{ steps.og.outputs['restore-keys'] }}

La configuración Nuxt consumidora integra además @kirchdev/duxt/og-image-cache y calcula la huella de opciones, fuentes y versiones del renderer. Un cambio vacía la caché restaurada antes de servir una imagen antigua. Después de la build, duxt-og-cache --root . --report --since "$STARTED_MS" --log build.log informa de la reutilización real.

Lista de comprobación

  • --root apunta a la aplicación consumidora.
  • La caché de fuentes solo se usa con cacheable == 'true'.
  • contents.sqlite* y las fuentes privadas quedan fuera.
  • La caché OG usa las rolling restore keys emitidas.
  • Nuxt incluye en la huella los inputs de renderizado del sitio.
¿Le ha resultado útil esta página?