client: update go clients

    2020-11-26 [Milo] Support both master_buildbucket_id and parent_buildbucket_id temporarily
    2020-11-26 [dscache] Avoid touching mathrand unless necessary.
    2020-11-25 [rts] Print changed files in lost rejections
    2020-11-25 [dscache] Cleanup public interface a bit.
    2020-11-25 [rts] Skip deleted patchsets
    2020-11-25 cv: Implement gobmap Update/Lookup
    2020-11-25 [dscache] Remove GlobalConfig.
    2020-11-25 [buildbucket] validate build token for UpdateBuild
    2020-11-25 [buildbucket] implement getBuildForUpdate
    2020-11-25 [dscache] Extract memcache-related part from dscache.
    2020-11-25 [rts] Fix source file paths
    2020-11-25 [filegraph] Update comments to natural logarithm
    2020-11-25 [lucicfg] Fix issues related to Go deps roll.
    2020-11-25 [mask] add mask.MustIncludes and mask.MustSubmask
    2020-11-25 [rts] Add distance concept to evaluation
    2020-11-25 cv: add helper GerritHost function.
    2020-11-25 [rts] Move file list fetching to presubmit-history
    2020-11-25 [isolate] Return error if compute merkle tree failed
    2020-11-25 [cas][isolate] fix build for library update
    2020-11-25 [resultui] use Promise.race([]) to generate promises that never resolve
    2020-11-25 [resultui] Do not require users to login to see the page.
    2020-11-25 [cv] Remove the duplicate queue definition
    2020-11-24 cv: define RefreshGerritCL task & queue.
    2020-11-24 cv: implement resolving CL deps.
    2020-11-24 cv: save Cq-Depend deps to CL.Snapshot.
    2020-11-24 Reland "cv: add missing Gerrit fake CIModifiers."
    2020-11-24 [filegraph] Use natural logarithm
    2020-11-24 [resultui] Fix crash on timeline tab.
    2020-11-24 [filegraph] Improve probability formula
    2020-11-24 [rts] Use filegraph in rts-chromium-eval
    2020-11-24 [swarming] send SizeBytes even if it is 0
    2020-11-24 Fix a bug where the vpython virtualenv lock was not passed to python.
    2020-11-24 [cache] do not use cwd in test
    2020-11-24 gerrit: support getting CommitInfo via GetChange per patchset.
    2020-11-24 Revert "cv: add missing Gerrit fake CIModifiers."
    2020-11-24 cv: add concept of SubPoller.
    2020-11-24 cv: add missing Gerrit fake CIModifiers.
    2020-11-24 cv: implement CQ-Depend parsing.
    2020-11-24 cv: reduce boilerplate with s/gerritfake/gf in tests.
    2020-11-24 cv: support GetChange in gerritfake.
    2020-11-24 cv: support ListFiles in gerritfake.
    2020-11-24 cv: fix package name after config package move.
    2020-11-24 [rubber-stamper] Implement delete reviewer.
    2020-11-24 cv: implement gerritfake GetRelatedChanges.
    2020-11-23 cv: fix bug in gerritfake.
    2020-11-23 [filegraph] Fix ReadWrite test
    2020-11-23 cv: add helper to convert CL.ExternalID to host and change.
    2020-11-23 cv: add CL relationship tracking to gerritfake.
    2020-11-23 cv: minor fixes based on for after-submit reviews.
    2020-11-23 cv: gerritfake client should know the host for ACL enforcement.
    2020-11-23 cv: implement some of the TODOs in gerritfake.
    2020-11-23 [filegraph] Refactor graph interfaces
    2020-11-23 [filegraph] Embed gitGraph in queryRun
    2020-11-23 cv: rename helper method for readability.
    2020-11-23 cv: implement processing of related changes.
    2020-11-23 [BuildPage] Split summary header and content better
    2020-11-21 cv: implement Enable() and Delete() in TestController.
    2020-11-20 cv: add loading functions for config.
    2020-11-20 cv: fix bug in config package and minor nits.
    2020-11-20 [rts] Add -log-lost-rejections flag
    2020-11-20 [chrome-cr-owners] update list projects to handle multiple refs
    2020-11-20 [rts] Add some spaces
    2020-11-20 [cas] extract directory creation to separated function
    2020-11-20 [rts] Improve score printing
    2020-11-20 [rts] Implement TestRecall metric
    2020-11-20 cv: define Gerrit poller interface.
    2020-11-19 [ResultUI] Remove unused import
    2020-11-19 [resultdb] Add benchmark for result history retrieval.
    2020-11-19 gerrit: minor consistency edits to comments.
    2020-11-19 cv: implementing fetching CL files.
    2020-11-19 gerrit: re-arrange methods order. No functional change.
    2020-11-19 [ResultDB] mention <text-artifact> in summary_html comment.
    2020-11-19 [resultdb] allow clocks to be out of sync for at most 10 mins

This commit is generated by

Bug: 1152235, 1143567
Change-Id: I647a22d0db715e33d28ec07ecafa5f913b764d29
Commit-Queue: Takuto Ikuta <>
Auto-Submit: Ye Kuang <>
Reviewed-by: Takuto Ikuta <>
1 file changed
tree: 91a5aac89ae0d211f6e8bb6cfc518f492cfa6196
  1. .gitattributes
  2. .gitignore
  3. .style.yapf
  4. .vpython
  5. .vpython3
  6. .yapfignore
  10. DEPS
  12. OWNERS
  16. appengine/
  17. client/
  18. codereview.settings
  19. pylintrc


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.


  1. Install Google AppEngine SDK.
  2. git clone

Code layout


  • Branch master constains the latest code.
  • Branch stable contains the stable code.


  • Sign the Google CLA.
  • See the coding style.
  • Make sure your and are configured in git config.

Run the following to setup the code review tool and create your first review:

git clone $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\"
# 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.

Use git cl help and git cl help <cmd> for more details.


The preferred style is PEP8 with two-space indent; that is, the Chromium Python style, 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.