0

docs: remove goma references

Bug: 41489832
Change-Id: I1dbbb744be749f314dea32d9cf01da0e4a9390ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5569801
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Richard Wang <richardwa@google.com>
Commit-Queue: Richard Wang <richardwa@google.com>
Cr-Commit-Position: refs/heads/main@{#1306295}
This commit is contained in:
Takuto Ikuta
2024-05-27 07:23:19 +00:00
committed by Chromium LUCI CQ
parent 0115dbb5ad
commit 7478af7280
14 changed files with 21 additions and 60 deletions

@ -76,7 +76,7 @@ It may also be necessary to run the revision's version of
Since build tools change over time, you may need to build using older versions
of tools like Visual Studio.
You may also need to disable goma (if enabled).
You may also need to disable reclient (if enabled).
## Get back to trunk

@ -29,7 +29,7 @@ If you're working on the plugin, you can build it locally like so:
1. Run `./tools/clang/scripts/build.py --without-android --without-fuchsia`
to build the plugin.
1. Run `ninja -C third_party/llvm-build/Release+Asserts/` to build incrementally.
1. Build with clang like described above, but, if you use goma, disable it.
1. Build with clang like described above, but, if you use reclient, disable it.
To test the FindBadConstructs plugin, run:

@ -47,8 +47,8 @@ There are two types of checks.
that all built files needed to run tests on swarming are identical in the
two build directories. The full determinism check is currently used on
Linux and Windows bots. (`Deterministic Linux (dbg)` has one more check:
it doesn't use goma for the incremental build, to check that using goma
doesn't affect built files either.)
it doesn't use reclient for the incremental build, to check that using
reclient doesn't affect built files either.)
2. The simple determinism check does a clobber build in `out/Release`, moves
this to a different location (`out/Release.1`), then does another clobber

@ -417,7 +417,7 @@ is open before checking out. This will increase your chances of success.
### Debugging
To help with deterministic builds, and to work with Goma, the path to source
To help with deterministic builds, and to work with reclient, the path to source
files in debugging symbols are relative to source directory. To allow Xcode
to find the source files, you need to ensure to have an `~/.lldbinit-Xcode`
file with the following lines into it (substitute {SRC} for your actual path

@ -62,11 +62,11 @@ the results, and collects any files emitted by the test ("test data"). It can
be found in [src/ios/build/bots/scripts], which means changes to the test runner
can be tested on the [try server].
### Compiling with goma
### Compiling with reclient
Goma is the distributed build system used by Chromium. It reduces compilation
time by avoiding recompilation of objects which have already been compiled
elsewhere.
Reclient is the distributed build system used by Chromium. It reduces
compilation time by avoiding recompilation of objects which have already been
compiled elsewhere.
### Testing with swarming
@ -108,9 +108,9 @@ requests which they execute and post the results of.
### Compiling with the analyzer
In addition to goma, the try bots use another time-saving mechanism called the
[analyzer] to determine the subset of compilation targets affected by the patch
that need to be compiled in order to run the affected tests. If a patch is
In addition to reclient, the try bots use another time-saving mechanism called
the [analyzer] to determine the subset of compilation targets affected by the
patch that need to be compiled in order to run the affected tests. If a patch is
determined not to affect a certain test target, compilation and execution of the
test target will be skipped.

@ -225,20 +225,6 @@ That's it. Remember to always use `autoninja` for building Chromium as described
below, which handles the startup and shutdown of the reproxy daemon process
that's required during the build, instead of directly invoking `ninja`.
#### Use Goma (deprecated)
*** note
**Warning:** Goma is deprecated and Chromium will [remove support for building
with Goma by end of January 2024](https://groups.google.com/a/chromium.org/g/chromium-dev/c/rajt7THxIng/m/ZoDB54wQBAAJ).
***
Please use the above instructions for reclient instead. If you have any issues
migrating to reclient, please reach out to chromium-dev@chromium.org so that we
can address them before the shutdown.
If you need to refer to the older instructions for using Goma, you can still
find them here: [Goma for Chromium contributors](https://chromium.googlesource.com/infra/goma/client/+/HEAD/doc/early-access-guide.md).
#### Disable NaCl
By default, the build includes support for

@ -241,7 +241,7 @@ errors only show up partially in the Problems view and you'll want to look at
the full error in the Console).
(Eclipse 3.8 has a bug where the console scrolls too slowly if you're doing a
fast build, e.g. with goma. To work around, go to Window > Preferences and
fast build, e.g. with reclient. To work around, go to Window > Preferences and
search for "console". Under C/C++ console, set "Limit console output" to
2147483647, the maximum value.)

@ -27,11 +27,10 @@ home directory is inaccessible by root (typically because it is mounted on NFS),
then move this directory onto your local disk and change the corresponding entry
in `/etc/schroot/mount-lucid64bit`.
### Goma builds
### Reclient builds
If you get mysterious compile errors (glibconfig.h or dbus header error), make
sure that goma is running in the chroot, or don't use goma for builds inside the
chroot.
If you get mysterious compile errors (glibconfig.h or dbus header error), don't
use reclient for builds inside the chroot.
### Different color prompt

@ -89,7 +89,7 @@ It's possible to build _on_ an arm Mac, without Rosetta. This
configuration is covered by a [main waterfall
bot](https://ci.chromium.org/p/chromium/builders/ci/mac-arm64-on-arm64-rel).
Checking out and building (with goma too) should just work.
Checking out and building (with reclient too) should just work.
You should be able to run `fetch chromium` normally, and then build, using
`gn`, `ninja` etc like normal.

@ -504,7 +504,7 @@ replacing `out/Debug` with your output directory (on Windows, replace /'s with
The file regex will allow you to click on errors to go to the error line.
If you're using goma, add the -j parameter (replace out/Debug with your out directory):
If you're using reclient, add the -j parameter (replace out/Debug with your out directory):
```
"cmd": ["ninja", "-j", "1000", "-C", "out/Debug", "chrome"],
```

@ -83,7 +83,6 @@ On bot, there is a step named 'lookup GN args'.
Apply the same gn args locally.
Note: most of the time, some path based flags can be omitted. Examples:
* coverage_instrumentation_input_file
* goma_dir
At the time of writing, some gn args can't be applied locally, like
use_remoteexec.

@ -199,8 +199,6 @@ To get started on Reclient, and for more information on how to use it, see
or [Google-internal documentation](go/building-chrome), if you are a Google
employee.
Goma can't be used anymore as of March, 2024.
#### More release-like builds
Chromium projects build in debug mode by default. Release builds (also called
@ -457,8 +455,6 @@ see crbug.com/1491876 for a resolution or workaround.
* **Dependencies are a fast-moving target.** Remember to run `gclient sync -D`
after every pull from `origin/main` _and_ every branch change. If you aren't
sure whether you ran it, just run it, it's fast if you don't need it.
* **Is the Goma client ready?** If your build is failing quickly with a
bunch of errors related to Goma, run `goma_ctl ensure_start` and try again.
* **Symbols too big?** If your build is failing during linking, check your
`gn args` to verify that `symbol_level=1` (or `0`) is present. If it's not,
you're running into a known issue where the default symbol level, `2`,

@ -17,7 +17,7 @@ An archive of all packages built so far is at https://is.gd/chromeclang
successful it will copy the binaries from the staging bucket to the
production one. Writing to this bucket requires special permissions. File a
bug at g.co/bugatrooper if you don't have these already (e.g.,
https://crbug.com/1034081). Then it will push the packages to goma. If you
https://crbug.com/1034081). Then it will push the packages to RBE. If you
do not have the necessary credentials to do the upload, ask
clang@chromium.org to find someone who does.
* Alternatively, to create your own roll CL, you can manually run
@ -31,7 +31,7 @@ An archive of all packages built so far is at https://is.gd/chromeclang
`Cq-Include-Trybots:` lines for all needed bots, so it's sufficient to just
run `git cl try` (or hit "CQ DRY RUN" on gerrit).
1. Commit the roll CL from the previous step.
1. The bots will now pull the prebuilt binary, and goma will have a matching
1. The bots will now pull the prebuilt binary, and RBE will have a matching
binary, too.
## Performance regressions
@ -83,4 +83,4 @@ tools/clang/scripts/update.py --package your-package-name
```
[an example of adding a new package](https://chromium-review.googlesource.com/c/chromium/src/+/5463029)
[example bug]: https://crbug.com/335730441
[example bug]: https://crbug.com/335730441

@ -257,25 +257,6 @@ Google employees can visit
for more information. For external contributors, Reclient does not support
Windows builds.
#### Use Goma (deprecated)
In addition, Google employees should use goma, a distributed compilation system.
Detailed information is available internally but the relevant gn arg is:
* `use_goma = true`
To get any benefit from goma it is important to pass a large -j value to ninja.
A good default is 10\*numCores to 20\*numCores. If you run autoninja then it
will automatically pass an appropriate -j value to ninja for goma or not.
```shell
$ autoninja -C out\Default chrome
```
When invoking ninja, specify 'chrome' as the target to avoid building all test
binaries as well.
Still, builds will take many hours on many machines.
#### Use SCCACHE
You might be able to use [sccache](https://github.com/mozilla/sccache) for the