Skip to main content

Exécution de travaux sur des exécuteurs de plus grande taille

Vous pouvez accélérer vos workflows en les configurant pour qu’ils s’exécutent sur des exécuteur plus grand.

Qui peut utiliser cette fonctionnalité ?

Les Exécuteur de plus grande taille sont uniquement disponibles pour les organisations et les entreprises qui utilisent les plans GitHub Team ou GitHub Enterprise Cloud.

Platform navigation

Exécution de travaux sur votre exécuteur

Une fois que votre type d’exécuteur a été défini, vous pouvez mettre à jour vos fichiers YAML de workflow pour envoyer des travaux aux instances de l’exécuteur qui viennent d’être créées afin de les traiter. Vous pouvez utiliser des groupes d’exécuteurs ou des étiquettes pour définir l’emplacement d’exécution de vos travaux.

Remarque : les Exécuteur de plus grande taille ont automatiquement des étiquettes attribuées par défaut qui correspondent au nom de l’exécuteur. Vous ne pouvez pas ajouter d’étiquettes personnalisées aux exécuteur plus grand, mais vous pouvez utiliser les étiquettes par défaut ou le groupe de l’exécuteur pour envoyer des travaux à des types spécifiques d’exécuteurs.

Seuls les comptes de propriétaire ou d’administrateur peuvent voir les paramètres de l’exécuteur. Les utilisateurs non administratifs peuvent contacter le propriétaire de l’organisation pour savoir quels exécuteurs sont activés. Le propriétaire de votre organisation peut créer de nouveaux exécuteurs et groupes d’exécuteurs, ainsi que configurer des autorisations pour spécifier quels référentiels peuvent accéder à un groupe d’exécuteurs. Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille ».

Une fois que votre type d’exécuteur a été défini, vous pouvez mettre à jour vos fichiers YAML de workflow pour envoyer des travaux aux instances de l’exécuteur qui viennent d’être créées afin de les traiter. Vous pouvez utiliser des groupes d’exécuteurs ou des étiquettes pour définir l’emplacement d’exécution de vos travaux.

Remarque : les Exécuteur de plus grande taille ont automatiquement des étiquettes attribuées par défaut qui correspondent au nom de l’exécuteur. Vous ne pouvez pas ajouter d’étiquettes personnalisées aux exécuteur plus grand, mais vous pouvez utiliser les étiquettes par défaut ou le groupe de l’exécuteur pour envoyer des travaux à des types spécifiques d’exécuteurs.

Seuls les comptes de propriétaire ou d’administrateur peuvent voir les paramètres de l’exécuteur. Les utilisateurs non administratifs peuvent contacter le propriétaire de l’organisation pour savoir quels exécuteurs sont activés. Le propriétaire de votre organisation peut créer de nouveaux exécuteurs et groupes d’exécuteurs, ainsi que configurer des autorisations pour spécifier quels référentiels peuvent accéder à un groupe d’exécuteurs. Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille ».

Une fois que votre type d’exécuteur a été défini, vous pouvez mettre à jour vos fichiers YAML de workflow pour envoyer des tâches aux instances de l’exécuteur afin de les traiter. Pour exécuter des tâches sur des exécuteur plus grand macOS, mettez à jour la clé runs-on dans vos fichiers YAML de workflow afin d’utiliser l’une des étiquettes définies par GitHub pour les exécuteurs macOS. Pour plus d’informations, consultez « Des exécuteur plus grand macOS disponibles ».

Des exécuteur plus grand macOS disponibles

Utilisez les étiquettes du tableau ci-dessous pour exécuter vos workflows sur les exécuteur plus grand macOS correspondants.

Taille de l’exécuteurArchitectureSous-traitant (UC)Mémoire (RAM)Stockage (SSD)OS (étiquette de workflow YAML)
GrandeIntel1230 Go14 Gomacos-latest-large, macos-12-large , macos-13-large [latest], macos-14-large[Bêta]
XLargearm64 (M1)6 UC et 8 GPU14 Go14 Gomacos-latest-xlarge, macos-13-xlarge [latest], macos-14-xlarge[Bêta]

Remarque : Pour les exécuteur plus grand macOS, l’étiquette d’exécuteur -latest utilise l’image d’exécuteur macOS 12. Pour macOS Xlarge, l’étiquette d’exécuteur -latest utilise l’image d’exécuteur macOS 13

Visualisation des exécuteurs disponibles pour un référentiel

Si vous avez un accès repo: write à un référentiel, vous pouvez visualiser une liste des exécuteurs disponibles pour le référentiel.

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, cliquez sur Actions.

    Capture d’écran des onglets du référentiel « github/docs ». L’onglet « Actions » est mis en surbrillance avec un encadré orange.

  3. Dans la barre latérale gauche, sous la section « Gestion », cliquez sur Exécuteurs.

  4. Passez en revue la liste des exécuteurs disponibles pour le référentiel.

  5. Si vous le souhaitez, pour copier l’étiquette d’un exécuteur pour l’utiliser dans un flux de travail, cliquez sur à droite de l’exécuteur, puis cliquez sur Copier l’étiquette.

Remarque : les propriétaires d’entreprise et d’organisation et les utilisateurs disposant de l’autorisation « Gérer les exécuteurs d’organisation et les groupes d’exécuteurs » peuvent créer de nouveaux exécuteurs à partir de cette page. Pour créer un exécuteur, cliquez sur Nouvel exécuteur en haut à droite de la liste des exécuteurs pour en ajouter au référentiel.

Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille » et « Ajout d’exécuteurs auto-hébergés ».

Pour plus d’informations sur les rôles d’organisation personnalisés, consultez « À propos des rôles d'organisation personnalisés ».

Utilisation de groupes pour contrôler où les travaux sont exécutés

Dans cet exemple, des exécuteurs Ubuntu ont été ajoutés à un groupe appelé ubuntu-runners. La clé runs-on envoie le travail à n’importe quel exécuteur disponible dans le groupe ubuntu-runners :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: 
      group: ubuntu-runners
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Utilisation de groupes pour contrôler où les travaux sont exécutés

Dans cet exemple, des exécuteurs Ubuntu ont été ajoutés à un groupe appelé ubuntu-runners. La clé runs-on envoie le travail à n’importe quel exécuteur disponible dans le groupe ubuntu-runners :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: 
      group: ubuntu-runners
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Utilisation d’étiquettes pour contrôler où les travaux sont exécutés

Dans cet exemple, un groupe d’exécuteurs est rempli avec des exécuteurs Ubuntu 16 cœurs, qui ont également reçu l’étiquette ubuntu-20.04-16core. La clé runs-on envoie le travail à n’importe quel exécuteur disponible avec une étiquette correspondante :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      labels: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Utilisation d’étiquettes pour contrôler où les travaux sont exécutés

Dans cet exemple, un groupe d’exécuteurs est rempli avec des exécuteurs centraux Windows 16, qui ont également reçu l’étiquette windows-2022-16core. La clé runs-on envoie le travail à n’importe quel exécuteur disponible avec une étiquette correspondante :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      labels: windows-2022-16core
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Ciblage des exécuteur plus grand macOS dans un workflow

Pour exécuter vos workflows sur des exécuteur plus grand macOS, définissez la valeur de la clé runs-on sur une étiquette associée à un exécuteur plus grand macOS. Pour obtenir une liste des étiquettes exécuteur plus grand macOS, consultez « Des exécuteur plus grand macOS disponibles ».

Dans cet exemple, le workflow utilise une étiquette associée à des exécuteurs macOS XL, autrement dit macos-latest-xl -arm64. La clé runs-on envoie le travail à n’importe quel exécuteur disponible avec une étiquette correspondante :

name: learn-github-actions-testing
on: [push]
jobs:
  build:
    runs-on: macos-13-xlarge
    steps:
      - uses: actions/checkout@v4
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

Utilisation d’étiquettes et de groupes pour contrôler où les travaux sont exécutés

Quand vous combinez des groupes et des étiquettes, l’exécuteur doit satisfaire aux deux exigences pour pouvoir exécuter le travail.

Dans cet exemple, un groupe d’exécuteurs appelé ubuntu-runners est rempli avec des exécuteurs Ubuntu, qui ont également reçu l’étiquette ubuntu-20.04-16core. La clé runs-on combine group et labels afin que le travail soit routé vers n’importe quel exécuteur disponible au sein du groupe qui a également une étiquette correspondante :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      group: ubuntu-runners
      labels: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Utilisation de noms uniques pour les groupes d’exécuteurs

GitHub Actions nécessite que les noms de groupes d’exécuteurs soient uniques au niveau de l’organisation. Cela signifie qu’une organisation ne peut plus créer de groupe d’exécuteurs portant le même nom qu’un autre au sein de l’entreprise. En outre, les utilisateurs voient une bannière d’avertissement sur tous les groupes d’exécuteurs qui partagent le même nom qu’un groupe dans l’entreprise, qui suggère que le groupe d’organisation doit être renommé.

Pour éviter toute ambiguïté, un workflow échoue s’il existe des groupes d’exécuteurs en double dans l’organisation et l’entreprise. Pour résoudre ce problème, vous pouvez renommer l’un de vos groupes d’exécuteurs dans l’organisation ou l’entreprise, ou mettre à jour votre fichier de workflow pour ajouter un préfixe au nom du groupe d’exécuteurs :

  • org/ ou organization/
  • ent/ ou enterprise/

Exemple : utilisation de préfixes pour différencier les groupes d’exécuteurs

Par exemple, si vous avez un groupe d’exécuteurs nommé my-group dans l’organisation et un autre nommé my-group dans l’entreprise, vous pouvez mettre à jour votre fichier de workflow pour utiliser org/my-group ou ent/my-group afin de les différencier.

Utilisation de org/:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

Utilisation de ent/:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]

Utilisation d’étiquettes et de groupes pour contrôler où les travaux sont exécutés

Quand vous combinez des groupes et des étiquettes, l’exécuteur doit satisfaire aux deux exigences pour pouvoir exécuter le travail.

Dans cet exemple, un groupe d’exécuteurs appelé ubuntu-runners est rempli avec des exécuteurs Ubuntu, qui ont également reçu l’étiquette ubuntu-20.04-16core. La clé runs-on combine group et labels afin que le travail soit routé vers n’importe quel exécuteur disponible au sein du groupe qui a également une étiquette correspondante :

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      group: ubuntu-runners
      labels: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Utilisation de noms uniques pour les groupes d’exécuteurs

GitHub Actions nécessite que les noms de groupes d’exécuteurs soient uniques au niveau de l’organisation. Cela signifie qu’une organisation ne peut plus créer de groupe d’exécuteurs portant le même nom qu’un autre au sein de l’entreprise. En outre, les utilisateurs voient une bannière d’avertissement sur tous les groupes d’exécuteurs qui partagent le même nom qu’un groupe dans l’entreprise, qui suggère que le groupe d’organisation doit être renommé.

Pour éviter toute ambiguïté, un workflow échoue s’il existe des groupes d’exécuteurs en double dans l’organisation et l’entreprise. Pour résoudre ce problème, vous pouvez renommer l’un de vos groupes d’exécuteurs dans l’organisation ou l’entreprise, ou mettre à jour votre fichier de workflow pour ajouter un préfixe au nom du groupe d’exécuteurs :

  • org/ ou organization/
  • ent/ ou enterprise/

Exemple : utilisation de préfixes pour différencier les groupes d’exécuteurs

Par exemple, si vous avez un groupe d’exécuteurs nommé my-group dans l’organisation et un autre nommé my-group dans l’entreprise, vous pouvez mettre à jour votre fichier de workflow pour utiliser org/my-group ou ent/my-group afin de les différencier.

Utilisation de org/:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

Utilisation de ent/:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]

Résolution des problèmes des exécuteur plus grand

Si vous remarquez que les travaux qui ciblent vos exécuteur plus grand sont retardés ou ne sont pas en cours d’exécution, plusieurs facteurs peuvent en être à l’origine.

  • Paramètres de concurrence : vous avez peut-être atteint votre limite maximale de concurrence. Si vous voulez permettre l’exécution en parallèle de plus de travaux, vous pouvez mettre à jour vos paramètres de mise à l’échelle automatique sur un nombre plus élevé. Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille ».
  • Autorisations de dépôt : vérifiez que les autorisations de dépôt appropriées sont activées pour vos exécuteur plus grand. Par défaut, les exécuteurs d’entreprise ne sont pas disponibles au niveau du dépôt et doivent être activés manuellement par un administrateur d’organisation. Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille ».
  • Informations de facturation : vous devez avoir une carte de crédit valide dans le fichier pour pouvoir utiliser des exécuteur plus grand. Après avoir ajouté une carte de crédit à votre compte, il peut être nécessaire d’attendre jusqu’à 10 minutes avant de pouvoir activer vos exécuteur plus grand. Pour plus d’informations, consultez « Ajout ou modification d’un mode de paiement ».
  • Limite de dépense : votre limite de dépense GitHub Actions doit être définie sur une valeur supérieure à zéro. Pour plus d’informations, consultez « Gestion de votre limite de dépense pour GitHub Actions ».
  • Stratégie d’utilisation équitable : GitHub a une stratégie d’utilisation équitable qui commence à limiter les travaux en fonction de plusieurs facteurs, comme le nombre de travaux que vous exécutez ou le nombre de travaux exécutés dans tout GitHub Actions.

Si vous remarquez que les travaux qui ciblent vos exécuteur plus grand sont retardés ou ne sont pas en cours d’exécution, plusieurs facteurs peuvent en être à l’origine.

  • Paramètres de concurrence : vous avez peut-être atteint votre limite maximale de concurrence. Si vous voulez permettre l’exécution en parallèle de plus de travaux, vous pouvez mettre à jour vos paramètres de mise à l’échelle automatique sur un nombre plus élevé. Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille ».
  • Autorisations de dépôt : vérifiez que les autorisations de dépôt appropriées sont activées pour vos exécuteur plus grand. Par défaut, les exécuteurs d’entreprise ne sont pas disponibles au niveau du dépôt et doivent être activés manuellement par un administrateur d’organisation. Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille ».
  • Informations de facturation : vous devez avoir une carte de crédit valide dans le fichier pour pouvoir utiliser des exécuteur plus grand. Après avoir ajouté une carte de crédit à votre compte, il peut être nécessaire d’attendre jusqu’à 10 minutes avant de pouvoir activer vos exécuteur plus grand. Pour plus d’informations, consultez « Ajout ou modification d’un mode de paiement ».
  • Limite de dépense : votre limite de dépense GitHub Actions doit être définie sur une valeur supérieure à zéro. Pour plus d’informations, consultez « Gestion de votre limite de dépense pour GitHub Actions ».
  • Stratégie d’utilisation équitable : GitHub a une stratégie d’utilisation équitable qui commence à limiter les travaux en fonction de plusieurs facteurs, comme le nombre de travaux que vous exécutez ou le nombre de travaux exécutés dans tout GitHub Actions.

Étant donné que macOS arm64 ne prend pas en charge Node 12, les exécuteur plus grand macOS utilisent automatiquement Node 16 pour exécuter n’importe quelle action JavaScript écrite pour Node 12. Certaines actions de communauté peuvent ne pas être compatibles avec Node 16. Si vous utilisez une action qui nécessite une autre version de Node, vous devrez peut-être installer manuellement une version spécifique au moment du runtime.