Saltar para o conteúdo
duxt

Guardar fontes remotas e imagens OG em cache

Reutilizar downloads de repositórios públicos e cartões sociais renderizados entre builds de CI.

Os downloads do Content e as imagens OG podem sobreviver a um runner efémero. Têm regras de invalidação diferentes e, por isso, usam comandos duxt separados.

Fontes 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 indica a aplicação Nuxt consumidora. A chave inclui repositórios e refs já resolvidos; contents.sqlite* fica de fora por ser um resultado do parser. Uma única fonte privada, SSH ou autenticada torna toda a lista cacheable=false. Sem --github, o comando mostra entradas ocultadas e a razão.

Imagens 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'] }}

A configuração Nuxt consumidora integra também @kirchdev/duxt/og-image-cache e calcula a impressão digital das opções, fontes e versões do renderer. Uma alteração esvazia a cache restaurada antes de servir uma imagem antiga. Depois da build, duxt-og-cache --root . --report --since "$STARTED_MS" --log build.log mede a reutilização real.

Lista de verificação

  • --root aponta para a aplicação consumidora.
  • A cache de fontes só é usada com cacheable == 'true'.
  • contents.sqlite* e fontes privadas ficam excluídos.
  • A cache OG usa as rolling restore keys emitidas.
  • O Nuxt inclui os inputs de renderização do site na impressão digital.
Esta página foi útil?