Un pipeline doit encore vérifier un ancien binaire Intel, tandis qu’un nouveau travail exige macOS 27.
Action immédiate : ne remplacez pas tous vos nœuds. Réservez Apple Silicon aux tâches qui doivent exécuter macOS 27, et gardez une voie Intel pour les validations qui en dépendent.
Cette analyse s’adresse aux développeurs qui maintiennent des builds macOS et doivent décider si leurs nœuds Intel restent utiles.
Elle concerne aussi les équipes DevOps qui répartissent les tâches entre architectures et doivent maîtriser les frontières d’exploitation.
Les responsables de plateforme y trouveront un cadre pour comparer achat, location et maintien d’un parc à deux voies.
Dernière mise à jour : 16 octobre 2026. Les règles système et les exigences Xcode ont été vérifiées à partir des informations d’Apple sur macOS 27, des exigences système de Xcode et des publications Apple Developer.
Éligibilité du système : hôte Intel ou Apple Silicon
Le premier indicateur n’est pas l’architecture de votre application, mais celle de la machine qui exécute le système hôte. Apple indique que macOS 27 n’est compatible qu’avec Apple Silicon, et que macOS 26 est la dernière version prenant en charge les Mac Intel et Rosetta. Un exécutable universel ou un outil encore lancé par Rosetta ne transforme donc pas un Mac Intel en hôte admissible à macOS 27.
Séparez ces deux vérifications dans votre inventaire. D’une part, votre machine peut-elle installer le macOS requis par la tâche ? D’autre part, le logiciel, ses dépendances et ses tests fonctionnent-ils avec l’architecture de cette machine ? Confondre ces questions conduit souvent à conserver un nœud qui ne peut pas héberger la nouvelle tâche, ou à supprimer trop tôt un nœud toujours utile aux contrôles Intel.
| Contrôle | Nœud Intel | Nœud Apple Silicon | Conséquence pour le routage |
|---|---|---|---|
| Exécuter macOS 27 | Non, selon l’éligibilité publiée par Apple | Oui, sous réserve du modèle et des exigences système indiqués par Apple | Réservez les tâches macOS 27 à un hôte admissible |
| Valider un produit destiné à Intel | Pertinent si le flux doit réellement tester cette architecture | Peut convenir à certains scénarios, après validation des dépendances et du résultat | Conservez une tâche dédiée lorsque le test Intel fait partie de vos critères |
| Exécuter un outil prévu pour Rosetta | Dépend du macOS disponible sur le nœud Intel | À vérifier pour l’outil et le système retenus | Ne supposez pas que la présence de Rosetta garantit la compatibilité de toute la chaîne |
| Construire un binaire universel | Possible selon les outils et la chaîne retenus | Possible selon les outils et la chaîne retenus | La sortie universelle ne détermine pas, à elle seule, le système hôte requis |
Apple documente les différences architecturales à traiter dans le code destiné à Apple Silicon. Utilisez cette ressource pour examiner les produits et dépendances ; utilisez la page de compatibilité du système pour choisir l’hôte. Ce sont deux décisions liées, mais non interchangeables.
À retenir : la compatibilité d’un logiciel avec une architecture ne prouve ni qu’un ancien Mac peut installer le système voulu, ni que l’ensemble du pipeline est prêt à migrer.
Compatibilité de Xcode : système hôte, SDK et cible de déploiement
Un nœud ne devient pas compatible avec un flux simplement parce qu’il possède une version récente de Xcode. Pour chaque tâche, vérifiez la combinaison entre le système hôte autorisé par Xcode, la version de l’outil, le SDK nécessaire et la cible de déploiement du produit. Le tableau des exigences système de Xcode est le point de contrôle pour les associations publiées ; les publications Apple Developer permettent de vérifier l’état des versions.
Ne déduisez pas de la compatibilité d’une version de Xcode avec macOS 27 que tous les projets, tous les simulateurs et toutes les étapes de livraison sont prêts. Une compilation peut réussir alors que les tests exigent un environnement absent, ou que l’archivage échoue plus tard à cause des certificats, des profils ou d’un outil complémentaire. La validation doit couvrir le flux que votre équipe met réellement en production.
| Étape du flux | Élément à vérifier | Preuve à conserver |
|---|---|---|
| Compilation | Version de Xcode, SDK, paramètres de compilation et dépendances | Journal complet de construction et résultat reproductible |
| Tests | Environnement de test, simulateurs ou services externes requis | Résultats de tests et environnement sélectionné |
| Archivage | Configuration de distribution et architecture des composants embarqués | Archive inspectée et journal de l’étape |
| Signature et export | Identité de signature, profils et autorisations disponibles sur le nœud | Résultat d’export et procédure de récupération des secrets |
| Publication | Outils et contrôles propres au canal de livraison | Trace de validation et procédure de reprise |
Consignez pour chaque ligne le nœud utilisé, le système, Xcode, les dépendances et la destination visée. Si vous ne pouvez pas relier un échec à un élément précis de cette combinaison, le résultat ne suffit pas à justifier un basculement de production.
Architecture du projet : charge réelle et dépendances
L’étiquette « compatible Apple Silicon » dans un dépôt n’est pas une preuve complète. Passez en revue les extensions natives, les bibliothèques précompilées, les scripts, les outils de test et les utilitaires appelés indirectement par le pipeline. Certains éléments peuvent être compilés depuis les sources ; d’autres peuvent nécessiter une variante précise, dépendre de Rosetta ou faire partie d’une validation qui doit rester représentative d’un environnement Intel.
L’objectif n’est pas de présumer qu’une architecture est plus rapide. Sans mesure obtenue dans votre environnement, cette affirmation ne peut pas décider de la migration. Comparez plutôt le résultat fonctionnel, le temps enregistré par vos propres journaux, les échecs reproductibles et le coût d’entretien. Si une comparaison de durée influence la décision, utilisez les mêmes commits, étapes, paramètres et conditions de cache, et conservez les traces permettant de reproduire l’essai.
La documentation Apple sur les différences architecturales aide à repérer les éléments du code qui demandent une vérification particulière. Elle ne remplace pas les essais du projet complet : la tâche doit aussi construire, tester et produire l’archive attendue sur le nœud envisagé. La sortie attendue, l’architecture des dépendances embarquées et la cible de distribution doivent toutes être vérifiées dans le contexte du flux réel.
Exploitation et coût total : isoler la maintenance
Un nœud partagé peut réduire le nombre d’environnements à entretenir, mais augmente l’importance des frontières entre les dépôts, les tâches et les secrets. Des nœuds séparés rendent le routage plus explicite et peuvent limiter les changements croisés, mais multiplient les environnements à mettre à jour et à diagnostiquer. Choisissez selon votre modèle de menace, vos responsabilités d’exploitation et les traces de vos flux, plutôt qu’en fonction d’une préférence abstraite pour le partage ou l’isolement.
Si vous utilisez des exécuteurs auto-hébergés, la documentation GitHub sur leur administration décrit les responsabilités associées à ce modèle. Évaluez aussi la manière dont les tâches non fiables peuvent interagir avec l’environnement et les secrets. Pour la livraison, examinez les règles Apple relatives à la signature du code distribué sur Mac.
Point de contrôle : un pipeline réussi n’est pas forcément récupérable. Faites vérifier la remise en service après une interruption, l’accès aux journaux et la restauration de la configuration avant de confier au nœud une publication dont l’équipe dépend.
Le coût total ne se limite pas au prix d’acquisition ou à la facture d’une location. Comparez les éléments qui existent réellement dans votre équipe : matériel ou forfait, période d’utilisation, temps passé à maintenir les environnements, capacité inutilisée, duplication pendant la coexistence des deux voies et coût d’une interruption. Pour chaque variable, associez une source vérifiable : vos relevés internes ou la page de l’offre envisagée. Ne remplacez pas une donnée manquante par un tarif public non vérifié ou par une estimation présentée comme un fait.
| Poste de décision | À relever dans vos données | Question d’arbitrage |
|---|---|---|
| Acquisition ou accès | Offre réellement disponible, durée retenue et conditions documentées | Le besoin est-il ponctuel, récurrent ou permanent ? |
| Maintenance | Temps d’administration, mises à jour, incidents et reprises consignés par l’équipe | Le nœud mobilise-t-il une responsabilité opérationnelle dédiée ? |
| Utilisation | Tâches routées, périodes d’inactivité et pics visibles dans les journaux | Le nœud correspond-il à une charge continue ou intermittente ? |
| Double voie | Environnements, scripts, secrets et contrôles maintenus en parallèle | La coexistence répond-elle à une exigence de test encore active ? |
| Récupération | Procédures testées, délais observés en interne et dépendances de livraison | L’équipe peut-elle restaurer le service sans intervention improvisée ? |
Choix des nœuds : trois voies selon les tâches
La décision doit suivre les tâches et les exigences de validation, pas le calendrier seul. L’expression « CI macOS » regroupe des charges différentes : tests de compatibilité, compilation, archivage signé ou publication. Une même équipe peut donc conserver une base Intel pour certains contrôles tout en ajoutant Apple Silicon pour les travaux qui nécessitent le nouveau système.
- Conservez la voie Intel si vos tâches doivent tester cette architecture, ou si elles dépendent encore d’un système et d’une chaîne d’outils compatibles avec le nœud actuel. Vérifiez que chaque tâche reste possible avec les versions de macOS et de Xcode prises en charge pour ce matériel.
- Ajoutez une voie Apple Silicon si un flux doit exécuter macOS 27. N’y déplacez d’abord que les tâches explicitement validées ; l’éligibilité de l’hôte ne démontre pas la compatibilité des extensions, des tests ou de la signature.
- Gardez les deux voies en parallèle si vos exigences de publication couvrent à la fois le nouveau système et des contrôles Intel. Faites coexister les nœuds jusqu’à ce que les essais pertinents soient concluants et que les journaux montrent que l’ancienne voie n’est plus nécessaire.
Le routage peut s’appuyer sur des étiquettes de nœud et des groupes de tâches, si votre outil d’automatisation le permet. Gardez les exigences de chaque tâche explicites dans le dépôt ou dans la configuration de votre plateforme ; évitez une sélection implicite qui dépendrait simplement du nœud disponible au moment du lancement.
Jalons de validation avant le basculement
Procédez par étapes réversibles, en partant d’un inventaire plutôt que d’une suppression de l’existant.
Inventaire des tâches. Exportez les flux macOS et regroupez-les par finalité : compilation, tests, archivage, signature et publication. Relevez pour chaque tâche le système, Xcode, le SDK, la cible de déploiement et les dépendances exécutées.
Matrice des exigences. Pour chaque flux, notez l’architecture requise par le produit et celle exigée par ses outils. Distinguez l’architecture de l’application de l’admissibilité du système hôte. Vérifiez les combinaisons de macOS et de Xcode dans les informations Apple plutôt que de vous fier à une étiquette de dépôt ou à une ancienne documentation interne.
Essai sur le nouveau nœud. Choisissez un ensemble représentatif de tâches et exécutez toute la chaîne sur l’environnement Apple Silicon prévu. Incluez les outils installés par le projet, les tests, l’archivage et les contrôles de signature si le flux de production les comporte. Conservez les journaux et comparez les sorties attendues, pas seulement le code de retour de la compilation.
Essai de maintien Intel. Lancez également les tâches qui doivent vérifier la compatibilité Intel ou rester sur un ancien environnement. Confirmez qu’elles ne sont pas redirigées par erreur vers le nouveau nœud et que leur chaîne d’outils peut encore être administrée. Si une tâche n’a plus de propriétaire ni de critère de validation, traitez cela comme une question de gouvernance avant de retirer son environnement.
Reprise et sécurité. Simulez la perte d’accès au nœud ou la nécessité de rétablir sa configuration. Vérifiez les permissions SSH et console, l’accès aux journaux, la séparation des secrets et la procédure de remplacement. Les certificats de distribution doivent rester protégés ; Apple détaille les exigences de signature des logiciels distribués sur Mac.
Décision de capacité. Comparez les résultats fonctionnels et les données d’usage réellement collectées. Si l’essai n’a pas reproduit les tâches importantes ou si la restauration n’a pas été testée, maintenez la coexistence plutôt que d’interpréter une réussite partielle comme un feu vert global.
Cette séquence convient aussi à une équipe qui évalue un environnement de CI Mac distant : testez la disponibilité des outils requis, la façon d’accéder au nœud, la gestion des secrets et le rétablissement du service selon les informations de l’offre. Ne déduisez pas une capacité précise d’un simple intitulé de service. Si vous comparez la location avec un achat, consignez les variables de coût dans le même tableau de décision ; vous pouvez consulter les tarifs VMSPIN pour vérifier les conditions et options réellement publiées, sans les extrapoler à un environnement qui n’y figure pas.
FAQ : compatibilité et durée de coexistence
Un nœud CI destiné à macOS 27 doit-il utiliser Apple Silicon ?
Oui, si la tâche doit être exécutée sous macOS 27, choisissez un hôte Apple Silicon admissible. Cela ne rend pas nécessaire le remplacement immédiat de l’ensemble du parc. Conservez les nœuds Intel pour les tâches qui doivent encore vérifier cette architecture ou qui restent liées à une chaîne compatible. Vérifiez séparément le système hôte, Xcode et les dépendances avant de déplacer un flux.
Quels travaux de CI peuvent rester sur un Mac Intel ?
Les tâches qui ne demandent pas macOS 27 peuvent rester sur Intel si le système et la version de Xcode requis sont pris en charge par le nœud, et si les dépendances du projet y fonctionnent. Les tests visant le comportement Intel constituent une raison de conserver cette voie. Validez toutefois le flux complet : une compilation isolée ne prouve pas que les tests, l’archivage et la livraison sont eux aussi opérationnels.
Comment répartir macOS 27 et les anciens builds Xcode ?
Attribuez des groupes ou des étiquettes de routage distincts aux environnements, puis reliez explicitement chaque tâche à son système et à son Xcode validés. Vérifiez les exigences publiées pour chaque association et consignez-les avec les résultats du flux. Lorsque vous ajoutez la nouvelle voie, conservez une comparaison reproductible avec l’environnement antérieur, en particulier pour les tests et les étapes de distribution.
Combien de temps garder les deux architectures ?
Gardez les deux voies aussi longtemps qu’une tâche requiert une validation Intel, une dépendance propre à cet environnement ou un ancien système encore nécessaire à la livraison. Appuyez la décision sur les usages et les résultats observés plutôt que sur une durée arbitraire. Avant de retirer Intel, vérifiez que les tâches concernées réussissent ailleurs et que l’équipe sait restaurer le service après un incident.
Recommandation d’exploitation
Votre nœud actuel peut entraîner une maintenance croissante, ne pas installer le système demandé ou imposer une capacité inutilement permanente si la charge est intermittente. À l’inverse, un nouveau nœud ne supprime pas les risques liés aux dépendances, à la signature et au routage : il ajoute aussi un environnement à contrôler tant que la double voie reste active. Décidez donc après un essai représentatif, avec les mêmes critères de réussite et de récupération pour chaque option.
Si vous avez besoin d’un environnement Apple Silicon pour valider une migration ou absorber un besoin temporaire, comparez la location VMSPIN aux coûts et responsabilités d’un achat. La location peut éviter l’immobilisation d’un poste pour une charge limitée, mais elle ne convient pas forcément à un usage permanent exigeant un accès physique ou une capacité précisément absente de l’offre publiée. Vérifiez les options réellement disponibles sur la page des solutions VMSPIN, puis ne retenez que celles qui correspondent à votre système, à votre chaîne Xcode et à vos règles d’exploitation.