PSA:Goma deprecation

Skip to first unread message

Takuto Ikuta (生田 拓人)

Sep 8, 2023, 1:59:25 AM9/8/23
to, Chromium-dev, chrome-build-team

Hi Chromium developers,


Goma will be deprecated by the end of January of next year. Please reach out to us if you have any questions.

Chromium has been using our custom remote execution system goma (client / server) for many years to speed up builds. Since then, a new standard Remote Execution API has emerged, which is supported by various clients and servers. We think it is best to spend our effort on supporting this effort, rather than keep maintaining our custom tools. Thus, we decided to deprecate goma and migrate Chromium's build to this new API.

For this purpose, we developed reclient, a new build client which supports Remote Execution API natively. This tool can easily be used in place of gomacc as part of our Ninja build.

CQ / CI builders have already migrated to Reclient / RBE, and we will soon migrate developers to reclient as well.

We are writing to inform you that we plan to delete support for goma in Chromium builds around the beginning of 2024. We will also stop maintaining the goma client and server.

For those who use Chromium’s Goma backend:

We will send instructions about how to migrate from goma to reclient.

For those who run their own Goma backend:

Reclient repository has documentation on how to use reclient so that you can also use reclient before we completely remove goma build support.

If you have any questions, please reply to this mail. Or file new issues in our component.

We apologize for any inconvenience this may cause and appreciate your understanding.

Takuto on behalf of Chrome Build team

Takuto Ikuta
Software Engineer in Tokyo
Chrome Ops (chrome browser build team)

Mihai Plesa

Sep 12, 2023, 3:44:39 PM9/12/23
to Chromium-dev, Takuto Ikuta (生田 拓人), chrome-build-team,
At Brave we've been using Goma with the EngFlow backend for build acceleration. They also support RE as per if anyone is looking for a way forward.

Samuel Attard

Sep 26, 2023, 5:24:36 PM9/26/23
to Chromium-dev, Takuto Ikuta (生田 拓人), chrome-build-team,
Raised this on the reclient repo --> but will ask here too.

Several RBE solutions use the `--remote_header` bazel flag to provide authentication to the backend, does reclient support an equivalent of this? I'm looking at migrating from our custom goma backend to reclient but the auth is proving a bit of a challenge.

Yannic Bonenberger

Sep 28, 2023, 8:48:31 PM9/28/23
to Chromium-dev, Samuel Attard, Takuto Ikuta (生田 拓人), chrome-build-team,
Hey Samuel,

replied on GitHub, but also replying here for visibility:

IUC, you can use --credential_file to specify a path to a JSON file with credentials to provide arbitrary headers.

We are also working on improving authentication for reclient similar to what Bazel supports :)


Paulo Coutinho

Dec 14, 2023, 6:39:40 PM12/14/23
to Chromium-dev, Yannic Bonenberger, Samuel Attard, Takuto Ikuta (生田 拓人), chrome-build-team,
When i try build latest version im getting this error:

gclient config --unmanaged                                                                                                                                                          34.6s
 => ERROR [13/32] RUN gclient sync                                                                                                                                                                                                            153.8s
 > [13/32] RUN gclient sync:                                                                                                                                                                                                                        
0.095 Updating depot_tools...                                                                                                                                                                                                                        
1.452 '/opt/depot-tools/.cipd_bin/' was not found and may not be supported on this platform!  

I need do something to ignore goma?

Paulo Coutinho

Dec 14, 2023, 6:39:49 PM12/14/23
to Chromium-dev, Yannic Bonenberger, Samuel Attard, Takuto Ikuta (生田 拓人), chrome-build-team,

Im with error when try clone repository related to goma now:

git clone /opt/depot-tools 
mkdir /build                                                                                                                                                        
cd /build                                                                                                                                                              
gclient config --custom-var checkout_configuration=minimal --unmanaged               
echo "target_os = [ 'wasm' ]" >> .gclient                                                                                                                                                               
gclient sync -r origin/chromium/6183 --no-history --shallow                                                                                                                           

ERROR: gclient sync -r origin/chromium/6183 --no-history --shallow:                                                                                                                                                                          

'/opt/depot-tools/.cipd_bin/' was not found and may not be supported on this platform!    

Can anyone help me? 


Em quinta-feira, 28 de setembro de 2023 às 21:48:31 UTC-3, Yannic Bonenberger escreveu:
Reply all
Reply to author
0 new messages