Aller au contenu principal

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.