Aller au contenu
useffect.sh
Planifier 30 min avec un senior
Tous les articles
La veille du collectif

Des machines macOS reproductibles pour les builds iOS

2 min de lectureMobile · iOS

Une image de machine pour retrouver le même environnement iOS

Tart (nouvelle fenêtre) permet de créer et d’exécuter des machines virtuelles macOS et Linux sur Apple Silicon. Le projet repose sur Virtualization.framework et peut stocker ses images dans des registres compatibles OCI. Il propose des intégrations de CI et un outil d’orchestration, Orchard, pour plusieurs hôtes.

Pour une équipe React Native, l’intérêt se situe autour du build iOS : Xcode, les simulateurs installés et les outils de compilation font partie de l’environnement autant que le lockfile JavaScript. Un job lancé sur une machine qui a reçu une mise à jour manuelle peut se comporter différemment sans que le dépôt de l’app ait changé.

Séparer l’image de base et le travail du job

Une image identifiée permet de nommer le socle utilisé par une génération de builds. Les caches de compilation restent une couche distincte : ils doivent accélérer un environnement défini, sans devenir la seule raison pour laquelle un build fonctionne. Une image fraîche est aussi un moyen de retrouver les dépendances involontaires laissées par les exécutions précédentes.

L’exploitation demeure une responsabilité concrète : capacité des hôtes, stockage des images, entretien de Xcode et durée de vie des machines. La disponibilité d’une intégration CI ne supprime pas ce travail. Le coût dépend de cette organisation ; aucun multiplicateur d’économie n’est transposable automatiquement à une petite équipe.

Cette piste concerne surtout les équipes qui veulent contrôler leur infrastructure macOS. Une équipe qui délègue déjà ses builds peut conserver ce service et concentrer son effort sur les artefacts, les logs et la reproductibilité de la configuration du projet.

Un de ces sujets se pose dans votre app ? Un senior du collectif peut en parler avec vous.