docs: add reclient docs, remove goma docs (#40948)
* docs: add reclient docs, remove goma docs * Apply suggestions from code review Co-authored-by: Charles Kerr <charles@charleskerr.com> --------- Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
parent
e83192adba
commit
bbfe809d02
2 changed files with 47 additions and 51 deletions
|
@ -3,54 +3,4 @@
|
||||||
> Goma is a distributed compiler service for open-source projects such as
|
> Goma is a distributed compiler service for open-source projects such as
|
||||||
> Chromium and Android.
|
> Chromium and Android.
|
||||||
|
|
||||||
Electron has a deployment of a custom Goma Backend that we make available to
|
Electron's deployment of Goma is deprecated and we are gradually shifting all usage to the [reclient](reclient.md) system. At some point in 2024 the Goma backend will be shutdown.
|
||||||
all Electron Maintainers. See the [Access](#access) section below for details
|
|
||||||
on authentication. There is also a `cache-only` Goma endpoint that will be
|
|
||||||
used by default if you do not have credentials. Requests to the cache-only
|
|
||||||
Goma will not hit our cluster, but will read from our cache and should result
|
|
||||||
in significantly faster build times.
|
|
||||||
|
|
||||||
## Enabling Goma
|
|
||||||
|
|
||||||
Currently the only supported way to use Goma is to use our [Build Tools](https://github.com/electron/build-tools).
|
|
||||||
Goma configuration is automatically included when you set up `build-tools`.
|
|
||||||
|
|
||||||
If you are a maintainer and have access to our cluster, please ensure that you run
|
|
||||||
`e init` with `--goma=cluster` in order to configure `build-tools` to use
|
|
||||||
the Goma cluster. If you have an existing config, you can just set `"goma": "cluster"`
|
|
||||||
in your config file.
|
|
||||||
|
|
||||||
## Building with Goma
|
|
||||||
|
|
||||||
When you are using Goma you can run `ninja` with a substantially higher `j`
|
|
||||||
value than would normally be supported by your machine.
|
|
||||||
|
|
||||||
Please do not set a value higher than **200**. We monitor Goma system usage, and users
|
|
||||||
found to be abusing it with unreasonable concurrency will be de-activated.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ninja -C out/Testing electron -j 200
|
|
||||||
```
|
|
||||||
|
|
||||||
If you're using `build-tools`, appropriate `-j` values will automatically be used for you.
|
|
||||||
|
|
||||||
## Monitoring Goma
|
|
||||||
|
|
||||||
If you access [http://localhost:8088](http://localhost:8088) on your local
|
|
||||||
machine you can monitor compile jobs as they flow through the goma system.
|
|
||||||
|
|
||||||
## Access
|
|
||||||
|
|
||||||
For security and cost reasons, access to Electron's Goma cluster is currently restricted
|
|
||||||
to Electron Maintainers. If you want access please head to `#access-requests` in
|
|
||||||
Slack and ping `@goma-squad` to ask for access. Please be aware that being a
|
|
||||||
maintainer does not _automatically_ grant access and access is determined on a
|
|
||||||
case by case basis.
|
|
||||||
|
|
||||||
## Uptime / Support
|
|
||||||
|
|
||||||
We have automated monitoring of our Goma cluster and cache at https://status.notgoma.com
|
|
||||||
|
|
||||||
We do not provide support for usage of Goma and any issues raised asking for help / having
|
|
||||||
issues will _probably_ be closed without much reason, we do not have the capacity to handle
|
|
||||||
that kind of support.
|
|
||||||
|
|
46
docs/development/reclient.md
Normal file
46
docs/development/reclient.md
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
# Reclient
|
||||||
|
|
||||||
|
> Reclient integrates with an existing build system to enable remote execution and caching of build actions.
|
||||||
|
|
||||||
|
Electron has a deployment of a [reclient](https://github.com/bazelbuild/reclient)
|
||||||
|
compatible RBE Backend that is available to all Electron Maintainers.
|
||||||
|
See the [Access](#access) section below for details on authentication. Non-maintainers
|
||||||
|
will not have access to the cluster, but can sign in to receive a `Cache Only` token
|
||||||
|
that gives access to the cache-only CAS backend. Using this should result in
|
||||||
|
significantly faster build times .
|
||||||
|
|
||||||
|
## Enabling Reclient
|
||||||
|
|
||||||
|
Currently the only supported way to use Reclient is to use our [Build Tools](https://github.com/electron/build-tools).
|
||||||
|
Reclient configuration is automatically included when you set up `build-tools`.
|
||||||
|
|
||||||
|
If you have an existing config, you can just set `"reclient": "remote_exec"`
|
||||||
|
in your config file.
|
||||||
|
|
||||||
|
## Building with Reclient
|
||||||
|
|
||||||
|
When you are using Reclient, you can run `autoninja` with a substantially higher `j`
|
||||||
|
value than would normally be supported by your machine.
|
||||||
|
|
||||||
|
Please do not set a value higher than **200**. The RBE system is monitored.
|
||||||
|
Users found to be abusing it with unreasonable concurrency will be deactivated.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
autoninja -C out/Testing electron -j 200
|
||||||
|
```
|
||||||
|
|
||||||
|
If you're using `build-tools`, appropriate `-j` values will automatically be used for you.
|
||||||
|
|
||||||
|
## Access
|
||||||
|
|
||||||
|
For security and cost reasons, access to Electron's RBE backend is currently restricted
|
||||||
|
to Electron Maintainers. If you want access, please head to `#access-requests` in
|
||||||
|
Slack and ping `@infra-wg` to ask for it. Please be aware that being a
|
||||||
|
maintainer does not _automatically_ grant access. Access is determined on a
|
||||||
|
case-by-case basis.
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
We do not provide support for usage of Reclient. Issues raised asking for help / having
|
||||||
|
issues will _probably_ be closed without much reason. We do not have the capacity to handle
|
||||||
|
that kind of support.
|
Loading…
Reference in a new issue