Goma
Goma est un service de compilation distribué pour les projets open source tels que Chrome et Android.
Electron a un déploiement d'un Backend Goma personnalisé que nous mettons à la disposition de tous les mainteneurs d'Electron. Pour plus de détails sur l'authentification voyez la section Accès ci-dessous . Il y a aussi l'endpoint Goma cache-only
qui sera utilisé par défaut si vous n'avez pas d'identifiants. Les requêtes vers le cache-only de Goma ne toucheront pas notre cluster, mais ira lire à partir de notre cache et devrait résulter en des temps de compilation beaucoup plus rapides.
Activation de Goma
Actuellement, la seule façon d'utiliser Goma est d'utiliser nos Build Tools. La configuration de Goma est automatiquement incluse lorsque vous configurez build-tools
.
Si vous êtes un mainteneur et que vous avez accès à notre cluster, veuillez vous assurer que vous exécutez e init
avec --goma=cluster
afin de configurer build-tools
pour l'utilisation des serveurs Goma. Si vous avez une configuration existante, vous pouvez définir "goma": "cluster"
dans votre fichier de configuration.
Build avec Goma
Lorsque vous utilisez Goma, vous pouvez exécuter ninja
avec une valeur de j
sensiblement supérieure à ce qui est normalement pris en charge par votre machine.
Veuillez ne pas définir une valeur supérieure à 200. Nous surveillons l'utilisation du système Goma, et les utilisateurs qui en abusent avec une concurrence déraisonnable seront désactivés.
ninja -C out/Testing electron -j 200
Si vous utilisez build-tools
, les valeurs appropriées -j
seront automatiquement utilisées.
Surveillance de Goma
Si vous accédez à http://localhost:8088 sur votre machine, vous pouvez surveiller les tâches de compilation au fur et à mesure qu'elles transitent par le système goma.
Accès
Pour des raisons de sécurité et de coût, l'accès au cluster Goma d'Electron est actuellement restreint aux mainteneurs d'Electron. Si vous souhaitez y accéder, rendez-vous sur #access-requests
dans Slack et ping @goma-squad
pour demander l'accès. Veuillez noter qu'être un mainteneur n'implique pas d'accorder automatiquement l'accès et que celui ci est déterminé sur la base du cas par cas.
Temps de disponibilité / Support
Nous avons une surveillance automatisée de notre cluster et de notre cache Goma sur https://status.notgoma.com
Nous ne fournissons pas de support pour l'utilisation de Goma et tout problème soulevé ou pour demander de l'aide sera probablement fermé sans d'avantage d'explication car nous n'avons pas la capacité de gérer ce type de support.