LUCI is an ensemble of services that work together to run large scale CI (continuous integration) infrastructure to get results in O(1). It is used by the Chromium project.
See appengine/ for the services provided.
A complete CI toolkit:
- Strict separation between task distribution and file distribution.
- Swarming distributes tasks across an army (thousands) of Swarming bots.
- Isolate server distributes 10s of thousands of files per task.
- Federated authentication and ACL.
- git based configuration data propagation.
- Automatic Google Compute Engine VM recycling.
- Windows, OSX and Linux (Ubuntu), used with Android, iOS, ChromeOS.
- Written in python 2.7 along Go tools.
- Used by the Chromium infrastructure and other teams.
- Install Google AppEngine SDK.
- git clone https://chromium.googlesource.com/infra/luci/luci-py
- /appengine/... contains AppEngine server code.
- /client/... contains all client code.
- /infra/config/... contains metadata to run the commit queue.
masterconstains the latest code.
stablecontains the stable code.
- Sign the Google CLA.
- See the coding style.
- Make sure your
user.nameare configured in
Run the following to setup the code review tool and create your first review:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/src/depot_tools export PATH="$PATH:$HOME/src/depot_tools" cd luci-py git checkout -b work origin/master # hack hack git commit -a -m "This is awesome\nRemail@example.com" # This will ask for your Google Account credentials. git cl upload -s # Wait for LGTM over email. # Check the commit queue box in codereview website. # Wait for the change to be tested and landed automatically.
git cl help and
git cl help <cmd> for more details.
The preferred style is PEP8 with two-space indent; that is, the Chromium
except functions use
lowercase_with_underscores. Use yapf (
git cl format)
to autoformat new code.
This project is licensed under Apache v2.0 license. See LICENSE for details.