Conventions de mise à jour du runtime GitHub Actions
Utilisez cette skill lors de la modification des workflows GitHub Actions pour résoudre les avertissements de dépréciation concernant les runtimes d'action (par exemple les migrations de runtime Node.js).
Quand utiliser cette skill
- Les logs du workflow signalent qu'une action s'exécute sur un runtime déprécié.
- Vous mettez à jour les versions d'action dans
.github/workflows/*.ymlou.github/workflows/*.yaml. - Vous devez conserver le comportement existant du workflow tout en modernisant les dépendances d'action.
Règles de mise à jour
- Privilégiez la mise à jour vers la dernière version majeure stable de chaque action compatible avec le workflow.
- Privilégiez les pins immuables : résolvez la release cible en SHA de commit complet et utilisez ce SHA dans
uses:. - N'épinglez pas à des tags ou branches mutables (par exemple
@v4ou@main) dans les recommandations finales. - Mettez à jour une action à la fois par commit (ou un groupe étroitement lié) pour que les défaillances soient faciles à isoler.
- Conservez le comportement existant du workflow inchangé lors de la mise à jour des actions runtime/dépendances.
Actions suivies dans ce dépôt
Priorisez la révision du runtime pour ces groupes lorsque des avertissements apparaissent :
- Toute action propriétaire sous
actions/* - Particulièrement les actions de configuration sous
actions/setup-*(par exemplesetup-node,setup-python,setup-dotnet) - Toute autre action explicitement nommée par l'avertissement de dépréciation du runtime dans les logs du workflow
Schéma d'épinglage
steps:
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.3.1
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.4
Lorsque vous recommandez des mises à jour, identifiez d'abord la dernière release compatible, puis utilisez le SHA de commit correspondant avec un commentaire de version optionnel.
Liste de vérification de validation
Après avoir modifié les versions d'action :
- Assurez-vous que tous les workflows modifiés se parsent toujours et conservent les mêmes déclencheurs/permissions sauf si intentionnellement changés.
- Exécutez les workflows affectés (ou les commandes de build/test locales équivalentes) et confirmez que les étapes mises à jour se terminent avec succès.
- Confirmez que les étapes de release/signature/artifact produisent toujours les résultats attendus le cas échéant.
- Vérifiez les logs d'exécution du workflow pour les nouveaux avertissements de dépréciation ou les notes de migration de runtime.
Notes de PR
Incluez dans le résumé de la PR :
- Quelles actions ont été mises à jour (de -> vers).
- Si une action n'a pas pu passer à une nouvelle majeure et pourquoi.
- Quels workflows ont été réexécutés pour valider la modification.
Comment cela complète Dependabot
Dependabot peut automatiser de nombreuses mises à jour, mais cette skill reste utile quand :
- Dependabot n'est pas activé pour les workflows d'un dépôt.
- Des avertissements de runtime apparaissent avant qu'une mise à jour automatisée ne soit disponible.
- Un workflow a besoin d'une validation qui préserve le comportement après la mise à jour d'action.