Clone this repo:
  1. 9715f08 Whitelist "hashlib" for import. by dnj · 3 hours ago master
  2. 554e887 Ensure raw_io creates all parent directories of the backing_dir. by jbudorick · 2 days ago
  3. 6eba2e3 [autoroller] All commits in updates(), only roll interesting ones. by iannucci · 3 days ago
  4. 64bc332 Fix Path.__ne__ by nodir · 3 days ago
  5. 83831a2 [fetch] Make GitBackend._execute log at info level by iannucci · 4 days ago


Recipes are a domain-specific language (embedded in python) for specifying sequences of subprocess calls in a cross-platform and testable way.



    This file!

  • bootstrap/

    Bootstrapping and vendoring related code.

  • doc/

    Documentation for the recipe engine (including this file!). Also includes doc/, which is a file you can include in your repository to start using recipes. See the design doc for more detailed design information about the recipe engine.

  • infra/

    Chrome infra config files.


    The main entry point to the recipe engine. It has many subcommands and flags; run -h to see them.

  • recipes/

    Recipes in the recipe engine. These are either example recipes, or recipes which are used to test the engine (see to see these run)

  • recipe_modules/

    Built in recipe modules. These are very useful when writing recipes; take a look in there, and look at their files.

  • recipe_engine/

    The core functionality of the recipe engine. Noteworthy files include:

    • package.proto -- The protobuf file which defines the format of a recipes.cfg file.
    • third_party/ -- third_party code which is vendored into the recipe engine.
    • -- The api exposed to a recipe module.
    • unittests -- Unittests for the engine.

    There are also several files which correspond to a subcommand of; depgraph, run, and autoroll are some examples.

  • unittests/

    Somewhat poorly named, these are higher level integration tests.


  • Sign the Google CLA.
  • 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"
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.