Mettre en cache les sources distantes et images OG
Réutiliser les dépôts publics téléchargés et les cartes sociales rendues entre les builds CI.
Les téléchargements Content et les images OG peuvent survivre à un runner éphémère. Leurs règles d’invalidation diffèrent, donc deux commandes duxt les gèrent séparément.
Sources distantes publiques
- 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 désigne l’application Nuxt consommatrice. La clé contient les dépôts
et refs déjà résolus ; contents.sqlite* reste exclu car il s’agit d’un résultat
de parsing. Une seule source privée, SSH ou authentifiée rend toute la liste
cacheable=false. Sans --github, la commande affiche les entrées expurgées et
la raison.
Images OG rendues
- 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 configuration Nuxt consommatrice intègre aussi
@kirchdev/duxt/og-image-cache et calcule l’empreinte des options, polices et
versions du renderer. Un changement vide le cache restauré avant qu’une ancienne
image puisse être servie. Après le build, duxt-og-cache --root . --report --since "$STARTED_MS" --log build.log mesure la réutilisation réelle.
Liste de contrôle
-
--rootpointe vers l’application consommatrice. - Le cache des sources ne fonctionne qu’avec
cacheable == 'true'. -
contents.sqlite*et les sources privées restent exclus. - Le cache OG utilise les rolling restore keys émises.
- Nuxt inclut les entrées de rendu du site dans l’empreinte.