Vous pouvez configurer un Mac Runner pour GitHub Copilot cloud agent si l’organisation autorise ce type d’exécution et si un administrateur définit le groupe ou les étiquettes appropriés. Commencez par un dépôt contrôlé, puis validez séparément la préparation de l’environnement, l’accès au projet et les limites de sécurité.
Cet article s’adresse aux administrateurs GitHub qui définissent les Runner accessibles aux dépôts, aux développeurs Apple qui ont besoin de macOS ou de Xcode, ainsi qu’aux responsables DevOps et sécurité chargés de valider l’accès et l’isolation.
Dernière vérification le 20 octobre 2026, à partir de la documentation GitHub sur la configuration du Runner de l’agent, de la référence des Runner auto-hébergés et de la documentation de sécurité GitHub Actions.
Cadrage du besoin macOS
GitHub Copilot cloud agent utilise par défaut un Runner standard hébergé par GitHub. L’organisation peut aussi configurer un groupe ou des étiquettes de Runner pour diriger l’agent vers un environnement auto-hébergé. Il ne faut toutefois pas présumer que chaque tâche de l’agent a besoin d’un Mac. Le critère décisif est le travail demandé au sein du dépôt.
Un projet peut utiliser l’agent pour modifier du code, produire une proposition ou effectuer des tâches qui ne nécessitent aucune dépendance propre à macOS. Dans ce cas, changer de Runner ajoute une machine à administrer sans bénéfice technique démontré. En revanche, si la préparation du projet ou une vérification dépend de Xcode, d’un outil macOS ou d’une ressource accessible uniquement depuis le réseau interne, un environnement Mac peut devenir nécessaire.
Il faut aussi distinguer trois opérations, souvent confondues lors de la conception :
- La session de l’agent correspond à l’environnement dans lequel GitHub Copilot cloud agent travaille sur une tâche.
- Le workflow de préparation installe ou configure les dépendances nécessaires avant le début du travail de l’agent. Il ne remplace pas la sélection du Runner.
- La CI habituelle vérifie le dépôt selon ses propres déclencheurs et conditions. La configurer ne signifie pas que l’agent utilise automatiquement son Runner.
- La validation de publication reste une étape distincte. Le fait que l’agent s’exécute sur Mac ne démontre pas que l’archivage, la signature ou le processus de publication fonctionnent.
Les paramètres décrits par GitHub couvrent le choix du Runner de l’agent et les règles d’accès correspondantes. Ils ne garantissent pas que votre pipeline complet de Xcode CI soit configuré, ni que ses secrets ou ses certificats soient disponibles. La configuration officielle du Runner pour l’agent de programmation est le point de départ pour confirmer le comportement pris en charge par GitHub.
Décision rapide
- Si le dépôt n’a besoin ni de macOS, ni d’un outil Apple, ni d’une ressource accessible uniquement depuis le réseau de l’entreprise, conservez le Runner hébergé standard.
- Si une commande de préparation ou une vérification reproductible exige macOS, poursuivez avec un Mac Runner dans un périmètre de test.
- Si l’exigence concerne seulement la CI habituelle ou la validation de publication, configurez et vérifiez aussi ces étapes séparément. Ne considérez pas l’accès de l’agent au Mac comme une validation de la chaîne entière.
Autorisations et périmètre de confiance
Avant de choisir un Runner, vérifiez qui peut modifier les paramètres de l’organisation, quels dépôts sont concernés et quels dépôts pourront accéder au groupe. La configuration cloud agent est une décision de politique, pas seulement un réglage local au dépôt. Vous devez donc établir le périmètre d’accès avant d’enregistrer une machine.
GitHub permet de gérer l’accès aux Runner auto-hébergés par groupes. Le groupe peut être rendu disponible à un ensemble limité de dépôts, selon la configuration de l’organisation. Vérifiez cette règle dans la documentation GitHub consacrée à l’accès aux groupes de Runner, puis comparez la liste autorisée à votre inventaire réel. Une étiquette reconnaissable ne suffit pas à protéger une machine si le groupe auquel elle appartient est accessible à trop de dépôts.
Préparez ensuite une fiche de besoin pour le projet :
- version et outils Xcode requis par le dépôt, à confirmer dans sa documentation et ses fichiers de configuration ;
- commandes de préparation nécessaires avant que l’agent puisse travailler ;
- paquets privés et conditions d’authentification ;
- ressources internes à joindre, avec leurs règles d’accès réseau ;
- données ou fichiers temporaires susceptibles de rester sur le Mac après une tâche.
Ne choisissez pas une version de macOS ou une architecture sur la base d’une hypothèse. Les systèmes et architectures compatibles doivent être vérifiés dans la référence GitHub des Runner auto-hébergés, puis confrontés aux exigences du dépôt. Cette vérification évite de louer, d’affecter ou de configurer une machine qui ne peut pas exécuter les outils attendus.
Point d’attention : l’accès à un Runner donne potentiellement accès à son environnement et à ce qu’il peut joindre. Définissez les dépôts autorisés, les droits réseau et les secrets avant d’ouvrir le groupe à une équipe entière.
Choix du Runner et règle de remplacement
L’administrateur de l’organisation doit décider si l’agent conserve le Runner hébergé standard ou utilise un groupe ou des étiquettes de Runner auto-hébergés. Il doit ensuite vérifier si les dépôts sont autorisés à remplacer cette configuration. GitHub documente les paramètres organisationnels et le contrôle du remplacement dans son guide de configuration des Runner de cloud agent.
| Choix | Quand le retenir | Contrôle à effectuer avant de poursuivre |
|---|---|---|
| Runner hébergé standard | Le projet ne dépend pas d’un outil macOS ou d’une ressource interne accessible uniquement depuis le Mac | Confirmer que la préparation et les commandes du projet fonctionnent dans cet environnement |
| Groupe de Runner Mac auto-hébergés | Le projet exige macOS, Xcode ou un accès interne autorisé | Vérifier les dépôts membres du groupe, le système disponible et la connectivité réelle |
| Paramètre imposé par l’organisation | L’organisation doit garder le contrôle du choix du Runner | Confirmer que les dépôts ne peuvent pas remplacer la politique, ou documenter les exceptions autorisées |
| Remplacement permis au dépôt | Une équipe a une raison approuvée de sélectionner un environnement différent | Tester la portée du remplacement et s’assurer qu’il ne donne pas accès à un groupe non prévu |
Traitez les noms de groupe et les étiquettes comme des valeurs à définir dans votre organisation, pas comme des conventions universelles. Si une documentation interne ou un exemple montre des valeurs concrètes, remplacez-les par des espaces réservés avant de les réutiliser :
Groupe de Runner : <GROUPE_AUTORISE>
Étiquette du Runner : <ETIQUETTE_MAC_VALIDEE>
Dépôt de test : <DEPOT_DE_TEST>
Un fichier de workflow ne doit pas être utilisé pour contourner une restriction décidée par l’organisation. Si votre politique autorise les dépôts à remplacer le réglage par défaut, documentez qui approuve le changement et comment vous en vérifiez l’effet. Si elle ne l’autorise pas, le dépôt doit être testé avec le Runner effectivement imposé, et non avec une configuration supposée.
Enregistrement du Mac et préparation de l’agent
Une fois le périmètre défini, enregistrez le Mac selon la procédure officielle de GitHub. Choisissez le niveau d’enregistrement et le groupe en fonction de la politique d’accès voulue, puis appliquez uniquement les étiquettes prévues. La procédure GitHub d’ajout d’un Runner auto-hébergé décrit les opérations d’enregistrement et les contrôles associés. Utilisez-la comme référence plutôt que de recopier une commande ancienne depuis un document interne.
L’état « en ligne » ne prouve pas que l’environnement convient au projet. Vérifiez d’abord que l’agent peut être dirigé vers le groupe attendu et que le dépôt de test est autorisé. Examinez ensuite la connectivité réseau depuis le Mac, notamment vers les sources de paquets privés ou les services internes réellement utilisés. Un poste visible par GitHub, mais isolé de ces dépendances, peut accepter une tâche tout en échouant au moment de préparer le code.
Le fichier de préparation de l’environnement sert à installer ou configurer les outils nécessaires avant que l’agent commence son travail. Il peut préparer les dépendances attendues par le dépôt, mais ne doit pas être confondu avec l’inscription du Runner, le choix du groupe ou la configuration des workflows CI. GitHub explique le rôle de cette préparation dans la documentation de personnalisation de l’environnement cloud agent.
Organisez votre contrôle en opérations distinctes :
- Vérifier l’hôte. Confirmez que le Mac est accessible et enregistré sous le groupe et les étiquettes attendus.
- Vérifier l’outillage. Contrôlez séparément la sélection de Xcode et la disponibilité des outils de ligne de commande nécessaires au dépôt.
- Vérifier la préparation. Exécutez les commandes de préparation dans un dépôt de test et conservez leur sortie.
- Vérifier les dépendances. Confirmez que les paquets privés et les ressources internes sont accessibles avec les droits prévus.
- Vérifier le résultat. Faites exécuter une commande représentative du projet et confrontez le résultat au critère défini par l’équipe.
Cette séparation aide à diagnostiquer les échecs. Une erreur de dépendance n’a pas la même cause qu’un Runner mal affecté ou qu’une version de Xcode manquante. Elle évite aussi de conclure qu’un environnement est prêt parce que l’agent a réussi à démarrer une session.
Essai contrôlé et vérification des résultats
Pour le premier essai, sélectionnez un dépôt non sensible ou un dépôt de test dont le contenu et les autorisations sont maîtrisés. Demandez à l’agent une tâche limitée, sans donner d’accès qui ne soit pas indispensable. Notez le Runner utilisé, les commandes exécutées, les ressources atteignables et les erreurs produites. Gardez les journaux utiles à l’analyse sans y exposer de secrets.
Vérifiez les résultats dans cet ordre :
- Le dépôt est-il autorisé à utiliser le groupe configuré par l’organisation ?
- La session de l’agent s’exécute-t-elle sur le type de Runner attendu ?
- Le dépôt est-il disponible dans l’espace de travail de l’agent ?
- Les commandes de préparation produisent-elles l’environnement prévu ?
- Les outils Apple et les dépendances propres au projet sont-ils accessibles ?
- Une commande de compilation ou de test produit-elle un résultat que l’équipe sait interpréter ?
Ne fusionnez pas ces observations en une seule mention « succès ». Un agent peut avoir terminé une modification sans que la compilation ait été exécutée. Une compilation peut réussir sans vérifier les tests ou les conditions de publication. Un Runner peut être en ligne tout en ayant une configuration Xcode incorrecte. Dans un projet audio, vidéo ou de design utilisant des outils Apple, ajoutez aux essais les vérifications réellement liées aux fichiers et aux étapes de production du projet ; ne supposez pas que la simple présence d’un environnement macOS suffit.
Questions de configuration fréquentes
Compatibilité avec un Runner Mac auto-hébergé
Oui, à condition que l’organisation configure l’accès de l’agent à un groupe ou à des étiquettes compatibles. Vérifiez les systèmes et architectures pris en charge dans la documentation GitHub au moment du déploiement. Un Runner auto-hébergé ne devient pas automatiquement utilisable par tous les dépôts : les règles du groupe, l’accès au dépôt et les paramètres de l’organisation restent déterminants.
Préparation des dépendances avant le travail de l’agent
Définissez la préparation dans le mécanisme documenté pour l’environnement de cloud agent. Faites-y installer ou vérifier ce dont le projet a besoin avant que l’agent commence à modifier le code. Évitez d’y confier implicitement la sélection de Runner ou la configuration de la CI : ces réglages ont leur propre périmètre et doivent faire l’objet de vérifications distinctes.
Remplacement de la règle organisationnelle par un dépôt
Ne supposez pas qu’un workflow de dépôt puisse changer le Runner retenu par l’organisation. Le remplacement dépend du réglage organisationnel. Faites un essai avec un dépôt contrôlé et comparez le Runner effectivement attribué avec la politique attendue. Si le remplacement est interdit, conservez une trace de ce choix afin que les équipes ne cherchent pas à corriger le problème au niveau du dépôt.
Limites de sécurité à vérifier
Examinez quels dépôts peuvent utiliser le groupe, quels secrets leur sont accessibles, quels services internes sont joignables et quelles données persistent après une tâche. Évaluez aussi le risque associé au code non fiable et les mécanismes de nettoyage. Tant que ces protections ne sont pas vérifiées dans un essai réel, limitez l’usage à un dépôt maîtrisé.
Critères de sécurité et décision de mise en service
L’accès à un Runner auto-hébergé doit être traité comme une frontière de confiance. Examinez les dépôts autorisés à l’utiliser, les permissions d’écriture, les secrets accessibles à l’agent et les connexions réseau possibles. Déterminez aussi si des fichiers ou des identifiants temporaires peuvent subsister entre deux tâches. La documentation de sécurité de GitHub Actions recommande de traiter avec prudence l’exécution de code non fiable sur des Runner auto-hébergés.
Pour les dépôts publics ou les contributions externes, ne partez pas du principe que le code exécuté est fiable. Un groupe disponible à un dépôt ne doit pas donner accès à des secrets ou à un réseau interne sans justification et mesure de protection. Si vous ne pouvez pas limiter l’accès, isoler les tâches ou vérifier le nettoyage, gardez le Runner hébergé standard lorsque celui-ci suffit, ou suspendez l’activation du Mac Runner.
Utilisez ces conditions de mise en service :
- Activez pour un périmètre limité si le dépôt exige macOS, si le groupe est réservé aux dépôts autorisés, si les outils et dépendances passent les essais et si les journaux permettent d’analyser les échecs.
- Élargissez progressivement si les essais confirment la règle de remplacement, la portée des secrets, l’accès réseau et le nettoyage de l’environnement.
- Restez sur le Runner standard si les tâches n’ont pas de dépendance macOS ou si le coût opérationnel du Mac n’est pas justifié par un besoin vérifié.
- Suspendez l’accès auto-hébergé si un dépôt non maîtrisé peut atteindre le groupe, si des secrets dépassent le besoin du projet ou si le nettoyage ne peut pas être démontré.
Le Mac interne de l’équipe peut convenir si vous maîtrisez sa disponibilité, son réseau et son entretien. Un service générique hébergé peut être insuffisant lorsque le projet dépend d’outils réservés à macOS. À l’inverse, un Mac dédié en permanence peut représenter une charge inutile si les essais sont ponctuels. Si vous devez seulement valider la configuration ou préparer un environnement temporaire, comparez ces contraintes avec une location de Mac à distance. Consultez les environnements Mac à distance présentés par KVMNODE, puis vérifiez que le mode d’accès et les conditions proposés correspondent à vos exigences de sécurité et de préparation. Si vous n’avez pas de Mac disponible pour un essai, vous pouvez aussi examiner la page de commande d’un Mac distant chez KVMNODE avant de retenir une solution.