github-actions-runtime-upgrade-conventions

Par github · awesome-copilot

Mettez à niveau les GitHub Actions vers des runtimes pris en charge en sélectionnant des versions d'actions sûres, en préservant le comportement des workflows et en validant l'exécution après la mise à niveau.

npx skills add https://github.com/github/awesome-copilot --skill github-actions-runtime-upgrade-conventions

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/*.yml ou .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 @v4 ou @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 exemple setup-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 :

  1. Assurez-vous que tous les workflows modifiés se parsent toujours et conservent les mêmes déclencheurs/permissions sauf si intentionnellement changés.
  2. 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.
  3. Confirmez que les étapes de release/signature/artifact produisent toujours les résultats attendus le cas échéant.
  4. 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.

Skills similaires