Skip to main content
Nous publions des mises à jour fréquentes de notre documentation, et la traduction de cette page peut encore être en cours. Pour obtenir les informations les plus actuelles, consultez la documentation anglaise.

Workflows requis

Vous pouvez spécifier les workflows qui s’exécuteront en tant que vérifications d’état requises dans tous les dépôts ou dans les dépôts sélectionnés de votre organisation.

Remarque : Les workflows requis sont actuellement en version bêta et sont sujets à modification.

Vue d’ensemble

Vous pouvez configurer un workflow qui doit s’exécuter dans les référentiels d’une organisation pour toutes les demandes de tirage ouvertes sur n’importe quelle branche cible. Les workflows requis vous permettent d’implémenter des stratégies CI/CD à l’échelle de l’organisation qui s’appliquent aux dépôts actuels et futurs. Un workflow requis est déclenché par des événements de demande de tirage, et s’affiche sous la forme d’une vérification d’état requise, qui bloque la possibilité de fusionner la demande de tirage jusqu’à ce que le workflow requis réussisse.

Les workflows requis ne sont pas la même chose que les workflows réutilisables. Les workflows réutilisables peuvent être appelés par un autre workflow. Les workflows requis sont appliqués aux dépôts par un propriétaire d’organisation.

Prérequis

Avant de configurer un workflow requis, notez les prérequis suivants :

  • GitHub Actions doit être activé pour un dépôt dans les paramètres de l’organisation afin de permettre l’exécution des workflows requis. Une fois activés au niveau de l’organisation, les workflows requis s’exécutent même lorsque GitHub Actions est désactivé dans les paramètres du dépôt. Pour plus d’informations sur la gestion de GitHub Actions dans les dépôts de votre organisation, consultez « Désactivation ou limitation de la fonctionnalité GitHub Actions pour votre organisation ».
  • Les workflows requis sont disponibles pour les organisations et uniquement dans les dépôts où le plan de l’organisation prend en charge les vérifications d’état requises. Si les vérifications d’état requises ne sont pas prises en charge, le workflow peut toujours s’exécuter, mais il ne s’agit pas d’une vérification requise et ne bloque pas la fusion. Pour plus d’informations sur la prise en charge des vérifications d’état requises, consultez « À propos des branches protégées ».
  • La branche par défaut du dépôt doit correspondre au paramètre de branche par défaut de l’organisation pour que les workflows requis s’exécutent en tant que vérifications d’état requises. Si les noms des branches par défaut ne correspondent pas, le workflow peut toujours s’exécuter, mais il ne s’agit pas d’une vérification requise. Pour plus d’informations sur la gestion des noms de branche par défaut, consultez « Gestion du nom de branche par défaut pour les dépôts de votre organisation » et « Changement de la branche par défaut ».
  • Pour que les workflows requis s’exécutent, le dépôt source de la demande de tirage (pull request) doit se trouver dans la même organisation que le dépôt cible. GitHub source le workflow requis dans une branche, une étiquette ou un SHA de commit spécifié du dépôt contenant le workflow.
  • Les secrets utilisés dans un workflow requis doivent être créés au niveau de l’organisation ou dans les dépôts cibles.
  • Les secrets du dépôt source ne sont pas récupérés (fetch) lorsqu’un workflow s’exécute dans le dépôt cible.

Restrictions et comportements pour le dépôt source

Notez les restrictions et comportements suivants pour le dépôt source et le workflow :

  • Les workflows requis peuvent être stockés dans n’importe quel dossier de dépôt ; ils ne sont pas limités au dossier .github/workflows, contrairement aux workflows standards. Si un workflow requis appelle un workflow réutilisable, celui-ci doit être stocké dans le dossier .github/workflows. Quand un workflow réutilisable est appelé, un workflow requis doit utiliser le chemin complet et la référence du workflow réutilisable. Par exemple : {owner}/{repo}/.github/workflows/{filename}@{ref}.

  • Si le workflow requis est contenu dans un dépôt privé , vous devez vous assurer que les workflows dans le dépôt sont accessibles par d’autres dépôts de votre organisation. Pour plus d’informations, consultez « Gestion des paramètres de GitHub Actions pour un dépôt.

  • Les workflows stockés dans un dépôt public peuvent être configurés en tant que workflows requis pour n’importe quel dépôt de votre organisation. Les workflows stockés dans un dépôt privé peuvent uniquement être configurés comme des workflows requis pour d’autres dépôts privés de votre organisation.

  • CodeQL n’est pas pris en charge dans les workflows requis, car CodeQL nécessite une configuration au niveau du dépôt. Pour plus d’informations sur la configuration de l’analyse du code, consultez « Configuration de l’analyse du code pour un référentiel ».

  • Pour effectuer une poussée vers une branche où les workflows requis sont appliqués au niveau de l’organisation, créez une demande de tirage pour apporter les modifications nécessaires. Vous ne pouvez pas effectuer de poussée directement vers les branches où des workflows requis sont appliqués.

  • Si vous souhaitez autoriser les poussées directes pour un dépôt en particulier, vous devez supprimer le dépôt en tant que cible des workflows requis respectifs.

  • Les workflows requis peuvent être référencés avec une branche, une étiquette ou un SHA de commit à partir du dépôt contenant le fichier de workflow.

Restrictions et comportements pour le dépôt cible

Notez les restrictions et comportements suivants pour les dépôts cibles :

  • Quand un workflow requis est configuré pour s’exécuter sur tous les dépôts ou uniquement sur les dépôts sélectionnés, la visibilité du dépôt contenant le workflow requis détermine sur quels dépôts de votre organisation le workflow va s’exécuter. Les workflows requis qui sont stockés dans des dépôts publics s’exécutent sur tous les dépôts. Les workflows requis qui sont stockés dans des dépôts privés s’exécutent uniquement sur d’autres dépôts privés.
  • Les workflows requis ne peuvent pas être configurés pour s’exécuter dans le dépôt où le workflow est créé. Vous devez envisager de créer un dépôt distinct pour y stocker vos workflows requis.
  • Quand un workflow requis est configuré pour s’exécuter sur tous les dépôts ou uniquement sur les dépôts sélectionnés, les workflows requis ne s’exécutent pas dans les dépôts où Actions est désactivé dans les paramètres de l’organisation.

Affichage des exécutions de workflow pour les workflows requis

Une fois qu’un workflow requis s’est exécuté au moins une fois dans un dépôt, vous pouvez afficher ses exécutions sous l’onglet « Actions » de ce dépôt. Pour apporter des modifications aux workflows configurés en fonction des besoins d’une organisation, vous devez contacter un propriétaire d’organisation. Toute personne disposant d’autorisations d’écriture pour le dépôt qui contient un workflow requis peut apporter des modifications au workflow lui-même.

  1. Dans GitHub.com, accédez à la page principale du dépôt. 1. Sous le nom de votre référentiel, cliquez sur Actions. Onglet Actions dans le volet de navigation du dépôt principal

  2. Dans la barre latérale gauche, vous pouvez afficher les exécutions de workflow pour les workflows requis sous « Workflows requis ».

    Capture d’écran montrant les workflows requis

Ajout d’un workflow requis à une organisation

Les propriétaires d’organisation peuvent configurer les workflows requis dans leur organisation. Pour plus d’informations, consultez « Désactivation ou limitation de la fonctionnalité GitHub Actions pour votre organisation ».