Aller au contenu
duxt

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

  • --root pointe 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.
Cette page vous a-t-elle été utile ?