Vous risquez d’être soumis à une limitation de débit par GitHub Actions lorsque vous augmentez votre utilisation. Certaines limites peuvent être augmentées en contactant nous via le portail de support GitHub.
Sauf indication contraire, lorsque la limite est atteinte, le flux de travail/la tâche est annulé(e).
Ces limites sont susceptibles d’être modifiées.
Limites système existantes
Catégorie de limite | Limite | Seuil | Description | Est-ce que le support GitHub peut augmenter les limites ? |
---|---|---|---|---|
Limite d’exécution du flux de travail | Temps d’exécution du flux de travail | 35 jours / exécution du flux de travail | 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 flux de travail | Délai d’approbation de l’étape | 30 jours | Un flux de travail peut attendre jusqu’à 30 jours pour les approbations d’environnement. | |
Mise en file d’attente des flux de travail | Limite du taux d’événements déclencheurs du flux de travail | 1 500 événements / 10 secondes / référentiel | Chaque référentiel est limité aux événements déclenchant l’exécution d’un flux de travail. | Ticket de support |
Mise en file d’attente des flux de travail | Exécution du flux de travail en attente | 500 exécutions de flux de travail / 10 secondes | Lorsque la limite est atteinte, les exécutions de flux de travail qui devaient être déclenchées par les événements webhook sont bloquées et ne sont pas mises en file d’attente. Les flux de travail réutilisables sont considérés comme une seule entité. Par exemple, une exécution avec 30 flux de travail réutilisables compte pour 1 dans ce cas. | |
Exécution du flux de travail | Matrice de tâche | 256 tâches / exécution de flux de travail | Une matrice de tâches peut générer un nombre maximal de tâches par exécution du flux de travail. Cette limite s’applique aux exécuteurs hébergés sur GitHub et à ceux qui sont auto-hébergés. | |
Auto-hébergé | Inscriptions de l’exécuteur | 1 500 exécuteurs / 5 minutes / référentiel/org/entreprise | Les exécuteurs peuvent être inscrits par référentiel/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 tâche d’un flux de travail peut s’exécuter pendant 5 heures maximum. Si une tâche atteint cette limite, elle est interrompue et échoue. | |
Auto-hébergé | File d’attente de travaux | 24 heures | Un travail peut se trouver dans la file d’attente pendant 24 heures avant qu’il soit 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 tâche d’un flux de travail peut s’exécuter pendant 6 heures maximum. Si une tâche atteint cette limite, elle est interrompue et échoue. | |
Tous les exécuteurs hébergés par GitHub | Limites de stockage | Variable | Pour plus d'informations, consultez Limites de stockage pour tous les exécuteurs hébergés par GitHub. | |
Exécuteurs plus grands | Limite de concurrence par exécuteur | Varie selon le type d’exécuteur | Établi lors de la configuration d’un exécuteur. Normalement, 1 000 max pour les exécuteurs CPU de processeur Linux, mais varient par 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 à 50 adresses IP | 10 adresses IP pour les plans d’équipe, 50 adresses IP pour les entreprises, et la limite est configurable. | Ticket de support |
Exécuteurs plus grands | Mise à l’échelle de l’adresse IP privée pour l’injection de réseau virtuel | Mémoire tampon de 30 % | Vous avez besoin d’une mémoire tampon pour prendre en charge la concurrence maximale des travaux que vous prévoyez. Consultez Mise à l’échelle de l’adresse IP privée pour l’injection de réseau virtuel sur les exécuteurs plus importants. | Réseau virtuel Azure configurable |
Limites de concurrence des travaux pour les exécuteurs hébergés par GitHub
GitHub La prise en charge peut augmenter les limites d’accès concurrentiel des travaux pour GitHub Actions. Pour demander une augmentation, envoyez un ticket de support.
Type d'exécuteur | Plan GitHub | Nombre maximal de travaux simultanés | Nombre maximal de travaux macOS simultanés | Nombre maximal de tâches GPU simultanées |
---|---|---|---|---|
Exécuteur standard hébergé par GitHub | Gratuit | 20 | 5 | Non applicable |
Exécuteur standard hébergé par GitHub | Pro | 40 | 5 | Non applicable |
Exécuteur standard hébergé par GitHub | Team | 60 | 5 | Non applicable |
Exécuteur standard hébergé par GitHub | Enterprise | 500 | 50 | Non applicable |
Exécuteur de plus grande taille | Team | 1 000 | 5 | 100 |
Exécuteur de plus grande taille | Enterprise | 1 000 | 50 | 100 |
Remarque
Le nombre maximal de travaux macOS simultanées est partagé entre les exécuteurs standards hébergés par GitHub et les exécuteurs plus importants hébergés par GitHub.
Limites de stockage des travaux pour tous les exécuteurs hébergés par GitHub
GitHub La prise en charge ne peut pas augmenter les limites d’accès concurrentiel des travaux pour GitHub Actions.
Plan GitHub | Stockage | Minutes (par mois) |
---|---|---|
GitHub Free | 500 Mo | 2 000 |
GitHub Pro | 1 Go | 3 000 |
GitHub Free pour les organisations | 500 Mo | 2 000 |
GitHub Team | 2 Go | 3 000 |
GitHub Enterprise Cloud | 50 Go | 50 000 |
Mise à l’échelle de l’adresse IP privée pour l’injection de réseau virtuel sur les exécuteurs plus importants
Lorsque vous utilisez des exécuteurs plus importants avec injection vnet, vous devez déterminer la plage d’adresses IP de sous-réseau appropriée, pour laquelle nous vous recommandons d’ajouter une mémoire tampon à la concurrence maximale de tâches que vous prévoyez. Par exemple, si les exécuteurs de la configuration réseau sont définis sur une concurrence maximale de 300 tâches, utilisez une plage d’adresses IP de sous-réseau pouvant prendre en charge au moins 390 exécuteurs. Veuillez noter qu’Azure réserve 5 adresses IP dans chaque sous-réseau (les 4 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 (tels que /29 ou moins) peuvent ne pas fournir suffisamment d’adresses utilisables pour répondre à vos besoins.
Limites courantes des services dépendants atteintes
Les limites de débit de l’API REST de GitHub s’appliquent aux utilisateurs de GitHub Actions. Celles qui sont le plus souvent 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 présentées en votre nom par une GitHub App appartenant à une organisation GitHub Enterprise Cloud ont une limite de débit plus élevée de 15 000 requêtes par heure. De même, les requêtes présentées en votre nom par une OAuth app détenue ou approuvée par une organisation GitHub Enterprise Cloud ont une limite de débit plus élevée de 15 000 requêtes par heure si vous êtes membre de l'organisation GitHub Enterprise Cloud.
-
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 est sur une organisation GitHub Enterprise Cloud, l'installation a une limite de débit 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 sera 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. Pour les requêtes vers les ressources qui appartiennent à un compte GitHub Enterprise Cloud, la limite est de 15 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 « Limites de débit pour l'API REST ».