À propos de la mise en cache des dépendances du flux de travail
Les exécutions de workflow utilisent souvent les mêmes sorties ou dépendances téléchargées d’une exécution à l’autre. Par exemple, les outils de gestion des packages et des dépendances comme Maven, Gradle, npm et Yarn conservent un cache local des dépendances téléchargées.
Pour accélérer le temps nécessaire pour recréer des fichiers comme des dépendances, GitHub vous pouvez mettre en cache les fichiers que vous utilisez fréquemment dans les flux de travail.
Artifacts versus mise en cache des dépendances
Les artefacts et la mise en cache sont similaires, car ils permettent de stocker des fichiers sur GitHub, mais chaque fonctionnalité offre des cas d’utilisation différents et ne peut pas être utilisée de manière interchangeable.
- Utilisez la mise en cache lorsque vous souhaitez réutiliser des fichiers qui ne changent pas souvent entre les travaux ou les exécutions de workflow, comme les dépendances de build d’un système de gestion de packages.
- Utilisez les artefacts lorsque vous souhaitez enregistrer des fichiers générés par un travail pour les afficher au terme de l’exécution d’un workflow, comme des fichiers binaires générés ou des journaux de génération.
Pour plus d’informations sur les artefacts d’exécution de workflow, consultez Stocker et partager des données avec les artefacts de workflow.
Sécurité du cache
Les caches sont partagés en fonction de la branche ou de la balise qu’une exécution de flux de travail utilise, et non sur l’identité du flux de travail ou du travail. Consultez Événements qui déclenchent des flux de travail et la branche GITHUB_REF utilisée pour différents déclencheurs de flux de travail. Toute exécution qui peut lire un cache restaure son contenu as-is. Vous devez donc traiter les fichiers restaurés comme une entrée non approuvée et ne jamais stocker des secrets ou d’autres données sensibles dans un cache.
Les flux de travail non fiables peuvent lire le contenu sensible du cache, par exemple lorsqu’un pull_request provenant d’une bifurcation restaure un cache. Les caches empoisonnés peuvent entraîner l’exécution du code dans des flux de travail approuvés. Pour limiter le risque d’empoisonnement du cache, GitHub accorde aux flux de travail qui s’exécutent en réponse à des déclencheurs de faible confiance un accès en lecture seule aux caches dans le périmètre de la branche par défaut.
Pour plus d’informations sur l’étendue du cache, les restrictions d’accès et les meilleures pratiques pour l’utilisation sécurisée des caches, consultez Référence sur la mise en cache des dépendances.
Étapes suivantes
Pour implémenter la mise en cache des dépendances dans vos flux de travail, consultez Référence sur la mise en cache des dépendances.