Cet article décrit la gestion des caches avec l’interface web GitHub, mais vous pouvez également les gérer :
- Utilisation de l’API REST. Consultez Points de terminaison d’API REST pour GitHub Actions cache.
- Avec la sous-commande
gh cacheà partir de la ligne de commande. Consultez la Documentation de l’interface CLI de GitHub.
Affichage des entrées de cache
Vous pouvez utiliser l’interface web pour afficher une liste des entrées de cache d’un référentiel. Dans la liste des caches, vous pouvez voir la quantité d’espace disque utilisée par chaque cache, la date de création du cache et la date de la dernière utilisation du cache.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre référentiel, cliquez sur Actions.

-
Dans la barre latérale gauche, sous la section « Gestion », cliquez sur Caches.
-
Passez en revue la liste des entrées de cache pour le référentiel.
- Pour rechercher les entrées de cache utilisées pour une branche spécifique, cliquez sur le menu déroulant Branche et sélectionnez une branche. La liste des caches affiche tous les caches utilisés pour la branche sélectionnée.
- Pour rechercher des entrées de cache avec une clé de cache spécifique, utilisez la syntaxe
key: key-namedans le champ Filtrer les caches. La liste des caches affiche les caches de toutes les branches où la clé a été utilisée.

Suppression d’entrées de cache
Les utilisateurs ayant un accès write à un référentiel utiliser l’interface web GitHub pour supprimer les entrées de cache.
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre référentiel, cliquez sur Actions.

-
Dans la barre latérale gauche, sous la section « Gestion », cliquez sur Caches.
-
À droite de l’entrée du cache que vous souhaitez supprimer, cliquez sur .

Suppression forcée d’entrées de cache
Les caches ont des restrictions de portée de branche en place, ce qui limite les options d’utilisation de certains caches. Pour plus d’informations sur les restrictions d’étendue de cache, consultez Référence sur la mise en cache des dépendances. Si les caches limités à une branche spécifique utilisent beaucoup de quota de stockage, cela peut entraîner la création et la suppression des caches de la branche default à une fréquence élevée.
Par exemple, un dépôt peut avoir de nombreuses nouvelles pull requests ouvertes, chacune avec ses propres caches restreints à cette branche. Ces caches peuvent occuper la majorité de l'espace de stockage pour ce dépôt. Une fois qu’un référentiel a atteint sa capacité maximale de stockage dans le cache, la stratégie d’éviction du cache libère de l’espace en supprimant les caches par ordre de date d’accès, du plus ancien au plus récent. Afin d’éviter un écroulement du cache dans ce cas, vous pouvez configurer des workflows de façon à supprimer les caches à une cadence plus rapide que celle de la stratégie d’éviction du cache. Vous pouvez utiliser la GitHub CLI pour supprimer des caches pour des branches spécifiques.
L’exemple de workflow suivant utilise gh cache pour supprimer jusqu’à 100 caches créés par une branche lorsque qu’un pull request est fermé.
Pour exécuter l’exemple suivant sur des pull requests inter-référentiels ou provenant de forks, vous pouvez déclencher le workflow à l’aide de l’événement pull_request_target. Si vous utilisez pull_request_target pour déclencher le flux de travail, des considérations de sécurité sont à prendre en compte. Pour plus d’informations, consultez « Événements qui déclenchent des flux de travail ».
name: Cleanup github runner caches on closed pull requests
on:
pull_request:
types:
- closed
jobs:
cleanup:
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- name: Cleanup
run: |
echo "Fetching list of cache keys"
cacheKeysForPR=$(gh cache list --ref $BRANCH --limit 100 --json id --jq '.[].id')
## Setting this to not fail the workflow while deleting cache keys.
set +e
echo "Deleting caches..."
for cacheKey in $cacheKeysForPR
do
gh cache delete $cacheKey
done
echo "Done"
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge
Vous pouvez également utiliser l’API pour répertorier ou supprimer l’ensemble des caches à votre propre rythme. Pour plus d’informations, consultez « Points de terminaison d’API REST pour GitHub Actions cache ».