Vous pouvez être soumis à des limitation de débit par GitHub Actions lorsque vous augmentez votre utilisation. Certaines limites peuvent être relevées en contactant votre administrateur de site.
Sauf indication contraire, lorsqu’une limite est atteinte, le fonctionnement attendu est l’annulation du workflow/travail.
Ces limites sont susceptibles d’être modifiées.
Limites système existantes
| Catégorie de limite | Limite | Seuil | Description | Est-ce que le support de GitHub peut augmenter les limites ? |
|---|---|---|---|---|
| Limite d’exécution du workflow | Durée d’exécution du workflow | 35 jours/exécution de workflow | Si une exécution de workflow atteint cette limite, l’exécution du workflow est annulée. Cette période comprend la durée d’exécution ainsi que le temps d’attente et d’approbation. | |
| Limite d’exécution du workflow | Délai d’approbation de la porte | 30 jours | Un workflow peut attendre jusqu’à 30 jours pour les approbations d’environnement. | |
| Mise en file d’attente des workflows | Limite du taux d’événements déclencheurs de workflow | 1 500 événements/10 secondes/dépôt | Chaque dépôt est soumis à une limite pour les événements déclenchant l’exécution d’un workflow. | Ticket de support |
| Mise en file d’attente des workflows | Exécution de workflow en file d’attente | 500 exécutions de workflow/10 secondes | Lorsque la limite est atteinte, les exécutions de workflow qui auraient dû être déclenchées par les événements webhook seront bloquées et ne seront pas mises en file d’attente. Les workflows réutilisables sont considérés comme une seule entité. Par exemple, une exécution avec 30 workflows réutilisables compte pour 1 dans ce cas. | |
| Exécution de workflow | Matrice de travaux | 256 travaux/exécution de workflow | Une matrice de travaux peut générer un nombre maximal de travaux par exécution de workflow. Cette limite s’applique aux exécuteurs hébergés par GitHub et à ceux qui sont auto-hébergés. | |
| Auto-hébergé | Inscriptions des exécuteurs | 1 500 exécuteurs/5 minutes/dépôt/organisation/entreprise | Les exécuteurs peuvent être inscrits par dépôt/organisation/entreprise. | Ticket de support |
| Auto-hébergé | Exécuteurs par groupe d’exécuteurs | 10 000 exécuteurs | Exécuteurs inscrits en même temps par groupe d’exécuteurs. | |
| Auto-hébergé | Durée d’exécution des travaux | 5 jours | Chaque travail d’un workflow peut s’exécuter pendant 5 jours maximum. Si un travail atteint cette limite, il est arrêté et échoue. | |
| Auto-hébergé | Durée en file d’attente d’un travail | 24 heures | Un travail peut rester en file d’attente pendant 24 heures avant d’être automatiquement annulé. | |
| Tous les exécuteurs hébergés par GitHub | Simultanéité des tâches | Variable | Consultez Limites de concurrence des travaux pour les exécuteurs hébergé par GitHub. | Ticket de support |
| Tous les exécuteurs hébergés par GitHub | Durée d’exécution des travaux | 6 heures | Chaque travail d’un workflow peut s’exécuter pendant 6 heures maximum. Si un travail atteint cette limite, il est arrêté et échoue. | |
| Exécuteurs plus grands | Limite de concurrence par exécuteur | Varie selon le type d’exécuteur | Définie lors de la configuration d’un exécuteur. Normalement, la limite maximale est de 1 000 pour les exécuteurs Linux UC, mais elle varie selon le type. Consultez Limites de concurrence des travaux pour les exécuteurs hébergé par GitHub. | Ticket de support |
| Exécuteurs plus grands | Limites d’adresses IP statiques | 10 adresses IP | 10 adresses IP par entreprise et organisation. | Ticket de support |
| Exécuteurs plus grands | Mise à l’échelle des adresses IP privées pour l’injection dans un réseau virtuel | Marge de 30 % | Vous avez besoin d’une marge pour prendre en charge la concurrence maximale des travaux que vous prévoyez. Consultez Mise à l’échelle des adresses IP privées pour l’injection dans un réseau virtuel sur des exécuteurs de grande taille. | Réseau virtuel Azure configurable |
| Mise en cache des dépendances | Téléversements par minute | 200 par minute | Chaque référentiel est limité à 200 chargements d’entrée de cache par minute. Si cette limite est dépassée, les tentatives de chargement du cache suivantes échouent jusqu’à ce que la limite de débit soit réinitialisée. | |
| Mise en cache des dépendances | Téléchargements par minute | 1500 par minute | Chaque référentiel est limité à 1500 téléchargements d’entrée de cache par minute. Si cette limite est dépassée, les tentatives de téléchargement du cache suivantes échouent jusqu’à ce que la limite de débit soit réinitialisée. | |
| Mise en cache des dépendances | Effacements par minute | 400 par minute | Chaque référentiel est limité à 400 opérations de suppression de cache par minute. Si cette limite est dépassée, les tentatives de suppression de cache suivantes échouent jusqu’à ce que la limite de débit soit réinitialisée. Chaque demande de suppression de caches par clé ou par ID compte pour cette limite. |
Limites de concurrence des travaux pour les exécuteurs hébergé par GitHub
Le support de GitHub peut augmenter les limites de concurrence des travaux pour GitHub Actions. Pour demander une augmentation, soumettez un ticket de support.
| Type d’exécuteur | Forfait GitHub | Nombre maximal de travaux simultanés | Nombre maximal de travaux macOS simultanés | Nombre maximal de travaux GPU simultanés |
|---|---|---|---|---|
| Exécuteur standard hébergés par GitHub | Gratuit | 20 | 5 | Non applicable |
| Exécuteur standard hébergés par GitHub | Pro | 40 | 5 | Non applicable |
| Exécuteur standard hébergés par GitHub | Équipe | 60 | 5 | Non applicable |
| Exécuteur standard hébergés par GitHub | Entreprise | 500 | 50 | Non applicable |
| Exécuteur de plus grande taille | Équipe | 1 000 | 5 | 100 |
| Exécuteur de plus grande taille | Entreprise | 1 000 | 50 | 100 |
Remarque
Le nombre maximal de travaux macOS simultanés est partagé entre les exécuteurs standard hébergés par GitHub et les exécuteurs de grande taille hébergés par GitHub.
Limites de stockage des travaux pour tous les exécuteurs hébergés par GitHub
Le support de GitHub ne peut pas augmenter les limites de stockage pour GitHub Actions.
| Plan | Stockage d’artefacts | Minutes (par mois) | Stockage du cache |
|---|---|---|---|
| GitHub Free | 500 Mo | 2 000 | 10 Go |
| GitHub Pro | 1 Go | 3 000 | 10 Go |
| GitHub Free pour les organisations | 500 Mo | 2 000 | 10 Go |
| GitHub Team | 2 Go | 3 000 | 10 Go |
| GitHub Enterprise Cloud | 50 Go | 50 000 | 10 Go |
Mise à l’échelle des adresses IP privées pour l’injection dans un réseau virtuel sur des exécuteurs de grande taille.
Lorsque vous utilisez des exécuteurs de grande taille avec injection dans un réseau virtuel, vous devez déterminer la plage d’adresses IP du sous-réseau appropriée. Pour cela, nous recommandons d’ajouter une marge à la concurrence maximale de travaux que vous prévoyez. Par exemple, si les exécuteurs de la configuration réseau sont définis avec une concurrence maximale de 300 travaux, utilisez une plage d’adresses IP de sous-réseau pouvant prendre en charge au moins 390 exécuteurs. Notez qu’Azure réserve cinq adresses IP dans chaque sous-réseau (les quatre premières et la dernière), ce qui définit une taille minimale pratique pour les sous-réseaux en fonction des exigences de l’exécuteur. Les sous-réseaux très petits (comme les /29 ou plus petits) peuvent ne pas fournir suffisamment d’adresses utilisables pour répondre à vos besoins.
Limites des services dépendants fréquemment atteintes
Les limites de débit de l’API REST de GitHub s’appliquent aux utilisateurs GitHub Actions. Celles qui sont le plus fréquemment atteintes sont les suivantes :
-
**Utilisateurs non authentifiés**\- Vous pouvez présenter des requêtes non authentifiées si vous ne recherchez que des données publiques. Les requêtes non authentifiées sont associées à l'adresse IP d'origine, non pas à l'utilisateur ou à l'application à l'origine de la requêtes.La limite de débit primaire pour les requêtes non authentifiées est de 60 requêtes par heure.
-
**Utilisateurs authentifiés**\- Vous pouvez utiliser un personal access token pour présenter des requêtes d'API. En outre, vous pouvez autoriser une GitHub App ou une OAuth app, qui peut alors présenter des requêtes d'API en votre nom.Toutes ces requêtes sont prises en compte dans votre limite personnelle de 5 000 requêtes par heure. Les requêtes
-
**Installations d’applications GitHub**\- Les GitHub Apps qui s'authentifient avec un jeton d'accès d'installation utilisent la limite de débit minimale de l'installation, soit 5 000 requêtes par heure. Si l'installation se trouve sur une organisation GitHub Enterprise Cloud , l'installation est soumise à une limite de 15 000 requêtes par heure.Pour les installations qui ne sont pas sur une organisation GitHub Enterprise Cloud , la limite de débit pour l'installation évoluera en fonction du nombre d'utilisateurs et de référentiels. Les installations qui ont plus de 20 référentiels reçoivent 50 requêtes supplémentaires par heure pour chaque référentiel. Les installations d'une organisation comptant plus de 20 utilisateurs reçoivent 50 requêtes supplémentaires par heure et par utilisateur. La limite de débit ne peut pas dépasser 12 500 requêtes par heure.
Les limites de débit primaires pour les jetons d'accès utilisateur GitHub App (par opposition aux jetons d'accès à l'installation) sont dictées par les limites de débit primaires pour l'utilisateur authentifié. Cette limite de débit est combinée avec toutes les requêtes qu'une autre GitHub App ou OAuth app présente au nom de cet utilisateur et toutes les requêtes que l'utilisateur présente avec un personal access token. Pour plus d’informations, consultez « Limites de débit pour l'API REST ».
-
**Applications OAuth \-** Pour ces requêtes, le débit limite est de 5 000 requêtes par heure et par OAuth app. Si l'application appartient à une organisation GitHub Enterprise Cloud, le débit limite est de 15 000 requêtes par heure. -
**JETON GITHUB**\- La limite de débit pour `GITHUB_TOKEN` est de 1 000 requêtes par heure et par référentiel. -
**Limites de débit secondaires**\- En plus des limites de débit primaires, GitHub applique des limites de débit secondaires afin d’éviter les abus et de garantir la disponibilité de l’API pour tous les utilisateurs. Ces limites ne sont pas configurables avec GHEC. Pour plus d’informations, consultez « [AUTOTITLE](/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28#about-secondary-rate-limits) ».
Limite de débit de Docker Hub pour GitHub Actions
-
**Exécuteurs hébergés par GitHub extrayant (pull) des images publiques :** la limite de débit de Docker Hub n’est pas appliquée. -
**Exécuteurs hébergés par GitHub extrayant (pull) des images privées :** l’extraction d’images privées à partir de Docker Hub est soumise à la limite de débit. -
**Exécuteurs auto-hébergés extrayant des images publiques ou privées :** l’extraction d’images à partir de Docker Hub est toujours soumise à la limite de débit.