Apple distingue cinq états de fin pour un build Xcode Cloud dans sa référence des statuts de complétion. Cette distinction évite de traiter une annulation comme une erreur de code. En cas d’échec de build Xcode Cloud, commencez par repérer l’action concernée et son journal, puis reproduisez le commit exact et vérifiez le workflow, les dépendances et les accès. N’évaluez un Mac local ou distant que si une vérification interactive est nécessaire : changer de machine ne corrige pas automatiquement un problème côté service.
Cet article s’adresse aux responsables produit ou opérations qui doivent déterminer si le blocage vient du code, de la configuration ou du workflow.
Il s’adresse aussi aux collaborateurs qui maintiennent le projet iOS et doivent reproduire un commit précis.
Enfin, il aide les responsables de l’environnement macOS à décider si un Mac distinct apporte un élément de diagnostic utile.
Distinguer un échec de compilation d’un autre état de fin
Un build « non réussi » ne signifie pas toujours que le code source contient une erreur. Le statut décrit la fin de l’exécution, tandis que le rapport et ses actions indiquent où chercher la cause. Avant de modifier le projet, vérifiez donc l’état final et l’action associée.
Apple énumère les états SUCCESS, FAILURE, ERROR, CANCELED et SKIPPED dans sa documentation du statut de complétion. Interprétez-les comme des pistes distinctes :
FAILURE: une action du workflow n’a pas abouti. Examinez cette action et son journal pour savoir s’il s’agit d’une compilation, d’un test ou d’une autre étape.ERROR: l’exécution a rencontré une erreur de traitement. Ne la confondez pas automatiquement avec une erreur de syntaxe ou une régression de l’application.CANCELED: le build a été interrompu. Vérifiez s’il a été annulé manuellement ou par une règle de workflow avant de chercher une faute dans le code.SKIPPED: l’exécution ou une action n’a pas été lancée dans les conditions observées. Contrôlez les conditions et la configuration du workflow.SUCCESS: l’exécution s’est terminée avec succès, mais cela ne garantit pas à lui seul que toutes les étapes métier attendues ont été effectuées.
Ces libellés orientent l’enquête, sans fournir à eux seuls une explication complète. Par exemple, une action de test en échec ne prouve pas que l’archive a échoué ; inversement, une étape ignorée peut signaler une condition de workflow plutôt qu’un problème de compilation. Conservez le statut final, le nom de l’action et son résultat avant d’intervenir.
Retrouver le premier indice utile dans le rapport
Le résumé d’une notification est pratique pour repérer un build, mais il manque souvent le contexte nécessaire au diagnostic. Ouvrez le rapport complet depuis le navigateur de rapports de Xcode ou depuis la page Xcode Cloud dans App Store Connect. Localisez l’exécution concernée, développez l’action signalée et lisez les lignes qui précèdent immédiatement l’arrêt.
Dans les journaux de build Xcode Cloud, cherchez d’abord le premier message d’erreur qui correspond à l’étape interrompue. Les messages ultérieurs peuvent simplement être la conséquence de l’échec initial : une compilation interrompue peut, par exemple, empêcher des étapes suivantes de s’exécuter. Ne commencez pas par modifier la dernière ligne affichée si elle ne donne qu’un résumé du processus.
Consignez les éléments suivants avant de relancer le workflow :
- l’identifiant ou le lien du build ;
- le commit associé ;
- le nom du workflow et de l’action ;
- le statut final ;
- le premier message pertinent et son contexte immédiat ;
- les changements apportés au projet depuis la dernière exécution réussie, si cette information est disponible.
Cette trace évite les essais en aveugle et facilite les échanges entre une équipe produit, une personne chargée du dépôt et un collaborateur technique. Si le rapport indique que l’action n’a pas démarré, concentrez-vous sur ses conditions, ses accès et la configuration du workflow. Si elle a démarré puis échoué, partez de son journal détaillé.
Un courriel qui annonce un échec est un signal, pas un diagnostic. Avant de relancer ou de changer une configuration, vérifiez que le commit et l’action examinés correspondent bien au build concerné.
Les pages Apple sur la configuration d’un premier workflow Xcode Cloud et la référence des workflows décrivent les éléments de configuration à rapprocher du rapport. Les libellés et les écrans pouvant évoluer, fiez-vous à la documentation actuelle pour les étapes d’interface plutôt qu’à une capture ancienne.
Reproduire le commit exact avant de conclure
Une reproduction locale n’est comparable au build distant que si elle porte sur le même état du projet. Vérifiez le commit affiché dans le rapport, puis ouvrez ou récupérez cet état avant de relancer l’action qui a échoué. Si le projet a changé depuis, une compilation réussie sur la branche actuelle ne répond pas à la question posée par l’ancien build.
La documentation Apple sur les problèmes courants de configuration et de build recommande notamment de reproduire localement le build avec le commit concerné. En pratique, la comparaison doit porter sur les mêmes fichiers, le même schéma pertinent et une action comparable. Si un test a échoué dans le workflow, lancer seulement une compilation locale ne suffit pas à expliquer son résultat.
Procédez ainsi :
- Relevez le commit dans le rapport. Vérifiez qu’il ne s’agit pas simplement de la version la plus récente du dépôt.
- Ouvrez cet état du code dans un environnement macOS. Utilisez le mécanisme habituel de votre équipe pour examiner ou récupérer le commit, sans écraser des changements locaux non sauvegardés.
- Identifiez l’action en échec. Distinguez compilation, tests, archivage ou autre étape à partir du workflow et du rapport.
- Reproduisez cette action. Gardez une trace de l’environnement, des paramètres pertinents et du résultat obtenu.
- Comparez les premiers messages d’erreur. Une erreur identique oriente vers le projet ou ses dépendances ; un résultat différent invite à examiner les conditions et l’environnement du workflow.
- Ne déclarez pas le problème clos après une réussite isolée. Relancez le workflow corrigé et vérifiez le rapport de cette nouvelle exécution.
Une réussite locale suivie d’un échec distant ne démontre pas que la plateforme est en cause. Elle indique seulement que les deux exécutions n’ont pas encore été rendues comparables. Le commit, la configuration du workflow, les dépendances disponibles et les accès sont des écarts à examiner avant d’attribuer la cause à l’infrastructure.
Séparer les erreurs d’environnement, de dépendances et d’accès
Les erreurs associées à l’environnement ou aux dépendances ne se corrigent pas toutes de la même manière. Lisez le contexte du journal avant de modifier les réglages du projet : une erreur de compilation, un téléchargement impossible et un dépôt inaccessible correspondent à des pistes différentes.
La configuration du workflow détermine notamment l’environnement macOS et Xcode sélectionné ainsi que les actions exécutées. Comparez ces choix avec les besoins réels du projet et consultez la référence Apple des workflows pour vérifier les paramètres pertinents. Ne reprenez pas comme une garantie actuelle une ancienne exigence de version : la disponibilité des environnements peut évoluer.
Pour les dépendances, vérifiez que le projet fournit les fichiers attendus et que le système de build peut les lire. Selon l’organisation du dépôt, cela peut concerner Swift Package ou CocoaPods. Apple détaille les moyens de rendre les dépendances disponibles à Xcode Cloud. Si le journal mentionne une récupération ou un téléchargement impossible, traitez d’abord l’accès réseau et la disponibilité des sources de dépendances ; ne modifiez pas du code sans lien avec ce message.
Les erreurs de dépôt exigent une vérification distincte. Confirmez que l’intégration et les autorisations utilisées par le workflow permettent de lire le dépôt et le commit concernés. Pour une erreur de schéma, vérifiez que le schéma du projet est partagé et repérable dans le contexte du build. Pour une erreur de capacité ou de signature, comparez les capacités demandées par l’application avec la configuration de son identifiant et du projet.
Les écrans et les étapes de configuration peuvent changer. Consultez les instructions Apple actuelles pour corriger les autorisations, le partage du schéma ou les capacités requises. Une nouvelle machine ne donne pas, à elle seule, accès à un dépôt privé et ne corrige pas une configuration de signature incomplète.
Utiliser les symptômes pour choisir la prochaine vérification
Avant de changer plusieurs paramètres à la fois, reliez le message observé à une piste précise. Le tableau ci-dessous aide à choisir le contrôle suivant ; il ne remplace pas l’examen du journal détaillé.
| Symptôme observé | Première vérification | Ce que cela permet de distinguer |
|---|---|---|
| Une erreur apparaît pendant la compilation | Examiner la première erreur de compilation et les fichiers du commit concerné | Défaut du code ou configuration du projet |
| Une dépendance ne peut pas être résolue | Vérifier les fichiers de dépendances, leur disponibilité et le message de récupération | Dépendance absente ou problème d’accès/téléchargement |
| Le workflow ne peut pas lire le dépôt | Contrôler le dépôt ciblé et les autorisations de l’intégration | Accès insuffisant ou mauvaise cible |
| Le schéma attendu est introuvable | Vérifier le schéma utilisé et son partage dans le projet | Configuration du projet plutôt qu’erreur de code |
| Une action a été annulée ou ignorée | Examiner le statut et les conditions du workflow | Interruption ou condition d’exécution, pas nécessairement compilation |
| Le build distant échoue alors que le test local passe | Comparer le commit, l’action, l’environnement et les dépendances | Différence entre les deux exécutions, cause encore à établir |
Choisissez ensuite l’environnement de comparaison selon la nature de la vérification. Un Mac interactif peut aider à ouvrir Xcode et examiner le projet ; il n’est pas une alternative au rapport du service pour déterminer ce qui s’est passé pendant l’exécution distante.
| Moyen de diagnostic | Pertinent lorsque… | Limite à garder en tête |
|---|---|---|
| Rapport et journaux Xcode Cloud | Il faut connaître l’action, le statut et le message de l’exécution distante | Un résumé seul peut être trop général |
| Mac déjà disponible dans l’équipe | Il faut reproduire un commit ou inspecter interactivement le projet | La reproduction doit rester comparable au workflow |
| Mac distant évalué pour l’occasion | Il faut un environnement macOS interactif sans utiliser la machine de travail principale | Il ne répare ni les droits du dépôt ni le service Xcode Cloud |
| Nouvelle exécution du workflow | Une modification ciblée a été effectuée et doit être vérifiée dans les conditions réelles | Une relance sans changement ou sans hypothèse vérifiable apporte peu d’information |
Un Mac distant peut être utile si votre équipe doit ouvrir Xcode, inspecter l’état local du projet ou comparer un même commit dans un environnement macOS distinct. Avant de choisir cette voie, consultez les guides disponibles pour les environnements Mac et identifiez ce que vous devez pouvoir transférer ou exécuter. Pour les besoins liés à un environnement hébergé aux États-Unis, vous pouvez aussi examiner les informations sur le déploiement dans la Silicon Valley, sans en déduire que cet emplacement résoudra une erreur du workflow.
La décision peut se prendre avec cette liste :
- [ ] Le rapport et l’action en échec sont identifiés.
- [ ] Le commit du build a été relevé et utilisé pour la reproduction.
- [ ] L’environnement Xcode et macOS du workflow a été vérifié dans la documentation actuelle.
- [ ] Les dépendances et leur accès depuis le build ont été examinés.
- [ ] Les autorisations du dépôt, le schéma et les capacités ont été contrôlés selon le message observé.
- [ ] Le besoin d’un Mac interactif est réel et ne sert pas à contourner une erreur clairement liée aux droits ou au service.
La vérification est terminée lorsque la correction est suivie d’une nouvelle exécution du même workflow, puis que son rapport et ses actions confirment le résultat attendu. Cela valide le comportement du build observé ; cela ne garantit pas à lui seul une signature, une publication ou une approbation.
| Objectif immédiat | Action à privilégier | À éviter |
|---|---|---|
| Comprendre pourquoi un build s’est arrêté | Lire l’action en échec et son journal | Se fier uniquement au résumé de notification |
| Savoir si un changement de code corrige l’erreur | Tester le commit concerné, puis relancer le workflow corrigé | Comparer des commits différents |
| Résoudre une dépendance indisponible | Vérifier sa déclaration, les fichiers requis et l’accès au téléchargement | Modifier sans distinction la configuration de compilation |
| Corriger un accès ou une capacité | Vérifier les autorisations et la configuration concernées | Supposer qu’une autre machine accorde automatiquement les droits |
| Examiner le projet dans Xcode | Utiliser un Mac accessible et reproduire l’action utile | Présenter ce Mac comme un correctif à Xcode Cloud |
Pour un problème purement lié aux droits du dépôt, aux capacités ou au service distant, commencez par corriger cette cause : louer un Mac ne la fera pas disparaître. En revanche, si l’enquête exige réellement d’ouvrir Xcode, de comparer un commit ou de disposer d’un environnement macOS séparé, un Mac à distance peut compléter le diagnostic sans remplacer les journaux. Vous pouvez consulter les options de DebugMac, puis valider votre propre commit, l’accès au projet et le transfert des fichiers avant d’en faire votre environnement de travail.
Questions fréquentes
Où consulter le journal détaillé d’un build Xcode Cloud ?
Ouvrez le rapport du build dans le navigateur de rapports de Xcode ou dans la section Xcode Cloud d’App Store Connect. Repérez l’action marquée en échec, puis développez ses détails pour lire son journal. Notez le commit, le workflow et l’action concernés : le résumé reçu par courriel ne remplace pas ces informations.
Comment reproduire un build Xcode Cloud qui a échoué ?
Récupérez le commit exact indiqué dans le rapport, puis ouvrez ce même état du dépôt dans l’environnement de travail local. Lancez l’action qui a échoué, avec les mêmes paramètres de projet pertinents, et comparez la première erreur utile au journal distant. Une réussite locale isolée ne prouve pas que le problème du workflow est résolu.
Que vérifier si Xcode Cloud ne trouve pas une dépendance ou le dépôt ?
Traitez séparément l’accès au dépôt et la disponibilité des dépendances. Vérifiez que le compte ou l’intégration utilisés par le workflow peuvent accéder au dépôt, puis contrôlez que les fichiers nécessaires à Swift Package ou CocoaPods sont présents et accessibles au build. Si le journal signale un téléchargement impossible, examinez aussi la connectivité avant de modifier le code.
Dans quels cas un Mac local aide-t-il à diagnostiquer un build Xcode Cloud ?
Un Mac est utile si vous devez ouvrir le projet dans Xcode, examiner un réglage qui n’apparaît pas clairement dans le rapport ou reproduire le commit dans un environnement macOS interactif. Il sert alors de point de comparaison. Il ne répare pas les droits du dépôt, la configuration du workflow ni un incident du service distant.
Pour aller plus loin
Reproduisez votre build iOS sur un Mac dédié avec DebugMac
Relancez le commit concerné dans un environnement macOS distant afin de comparer les journaux et de mieux isoler la cause de l’échec.
