[TOC]
Most of the chrome infra source code lives in these repos:
- infra.git: primary public repo. Contains many AppEngine apps, monitoring libraries.
- infra_internal.git: Google-internal counterpart of infra.git. Contains CQ.
- build: legacy repo. Contains recipes, gatekeeper-ng.
- build_internal: internal counterpart of build repo.
- build_limited: minimal set of internal code that must be checked out on builders that run internal builds.
- luci-py on GitHub: chromium-independent reusable continuous integration services, written in Python. Contains Swarming, Isolate, Auth service, Config service and AppEngine components, used by AppEngine apps in infra.git and infra_internal.git
- luci-go: like luci-py, but in Golang. Contains Isolate client. (docs)
Standalone one-purpose repos:
- expect_tests: testing framework used for recipe tests and infra.git's test.py.
- testing_support: utilities to support writing unittests for infra-related tools.
- gae: Go wrapper interface around appengine APIs for better testability. (docs)
See also other internal repos.
If you're reading this file, you're probably involved in the Chromium project already. If this is not the case, you might want to read Chromium's Get the Code page to get some background information. In particular, depot_tools needs to be installed.
First, generate and populate a .gitcookies file to provide authentication for accessing the repos. Visit chromium.googlesource.com/new-password, choose to authenticate only chromium.googlesource.com, and follow the provided directions.
The proper way to check out the non-GitHub repositories is to run:
mkdir chrome_infra # or whatever name you please
cd chrome_infra
fetch infra # or `fetch infra_internal` if you are a Googler
Some Infra tooling requires manual operations to be performed in order to package it for distribution. See Packaging for more information.
See Contributing.
If you're a Googler and get authentication errors when running fetch infra_internal
you may need to add authentication for the internal repos to
your .gitcookies file. Visit chrome-internal.googlesource.com/new-password,
choose to authenticate only chrome-internal.googlesource.com, and follow the
provided directions.
If you're not running a supported distribution, fetch infra
will
probably fail complaining that it cannot find some packages on Cloud
Storage. This happens with architecture-dependent packages like numpy,
which need to be compiled. The workaround is to build the packages for
yourself. Just run:
infra/bootstrap/build_deps.py
gclient runhooks
The first command will build the packages are store them locally. The
second command deploy them into infra/ENV
. For more details on this
see bootstraping.
If you are a Googler, see more detailed instructions for working in the other infra repositories.