Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[chromium] install goma #133

Open
jankeromnes opened this issue Jan 10, 2018 · 1 comment
Open

[chromium] install goma #133

jankeromnes opened this issue Jan 10, 2018 · 1 comment

Comments

@jankeromnes
Copy link
Member

jankeromnes commented Jan 10, 2018

From this thread on chromium-dev:

Chrome's build time is getting longer and longer. According to https://groups.google.com/a/chromium.org/forum/#!msg/chromium-dev/ThDAjO7fTro/bPQzvbVLAgAJ, build time was 30 minutes in July 2014, but it is now more than 150 minutes (without jumbo) in 2017 on particular Mac.

Google is internally using a distributed compiler service, Goma. With Goma, chrome can be built in a few minutes. However, it's available only for googlers, so non googlers need to wait for long time to build chrome, and this must be painful.

To cope with this, Goma team is working so that all Chromium developers can utilize improved compile performance enabled by Goma.

As a first step, Goma team has made the client code open source in https://chromium.googlesource.com/infra/goma/client/

Unfortunately, Goma server is not publicly available yet, but we're working on this. We hope we can make the server publicly available this year so that all Chromium developers can be more productive. Stay tuned.

I think we should install Goma in the Chromium Docker image, allowing users to configure and use Goma once it becomes more accessible (e.g. with a Chromium committer access token of some sort).

@ashish173
Copy link

I think making the basis goma server shouldn't be a problem.

Steps on how to make Goma server.

Must have

  1. Uploads the code to remote powerful server; FTP maybe.
  2. Builds the code like it would run on any server; some shell scripting
  3. Returns the binary/build/executable.

Good to have

  1. Cache of os on remote server, upload only changes between commits, i.e. delta/diff.

It feels like this is simple to me. Anyone can build it simply.

What am I missing here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants