À propos du projet

GitHub Actions Pins est un dépôt de maintenance dont le but est de suivre les métadonnées épinglées pour GitHub Actions, afin que les workflows puissent épingler des révisions immuables plutôt que des tags mobiles. Le README décrit le dépôt comme une liste de suivi plutôt que comme une application, et le résultat pratique est un fichier lisible par machine que d'autres projets peuvent consommer. La source de vérité est un fichier nommé actions.csv. Chaque ligne contient deux colonnes : action et ref_override. La colonne ref_override est laissée vide lorsqu'aucune substitution n'est nécessaire, ce qui permet de garder la liste lisible tout en permettant de forcer une référence spécifique pour une entrée. Les modifications de la liste passent par un processus basé sur des issues. Une commande appelée gh pin peut ouvrir une issue intitulée "Add actions to pin list" portant le label pins. L'application de ce label constitue l'approbation de la demande. Un workflow d'issue valide ensuite les entrées owner/action@ref soumises dans l'issue et, en cas de succès, ouvre une pull request d'auto-merge qui met à jour actions.csv et pins.json. Comme la pull request est configurée pour l'auto-merge, les ajouts approuvés sont intégrés sans fusion manuelle. Quelques règles régissent l'interprétation des entrées. Les sous-chemins d'action restent intégrés à la clé d'épinglage, donc une étape de workflow qui pointe vers un sous-répertoire d'une action est traitée comme sa propre clé. Les métadonnées, cependant, sont résolues par rapport au root owner/repo plutôt qu'au sous-chemin. Les entrées qui référencent déjà un SHA de commit complet n'ont pas besoin d'être ajoutées à la liste d'épinglage, car de telles références sont immuables par construction. Le fichier pins.json généré est publié et déployé sur https://unfun.co/pins.json, offrant aux consommateurs une URL stable pour récupérer les données d'épinglage actuelles. Le projet est réalisé par Daniel Morris et est disponible sous la licence MIT ; le README comporte un avis de copyright 2026 et des liens vers le fichier LICENSE.md du dépôt.