Clone this repo:
  1. 5da7e1f Remove "Recipe Roll Downstream Tester" builder by nodir · 19 hours ago master
  2. 2f2d5c6 [step_runner] expand try/catch to cover all step preparation functionality by iannucci · 10 days ago
  3. cae7fab [step_runner] fix error text by iannucci · 11 days ago
  4. a819ab0 [step_runner] do not immediately bail when START_DIR is gone. by iannucci · 11 days ago
  5. 3b8a058 [engine] make all ad-hoc steps properly colored by iannucci · 11 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.