Clone this repo:
  1. c12134c Print Windows crash codes in hex by Bruce Dawson · 3 days ago master
  2. 4ddd3e9 [recipe_api] Fix bug when debug_dir is present and non-null by Dave Bort · 4 days ago
  3. 0584da0 [luci-auth] Make service_account module use luci-auth by Robert Iannucci · 2 weeks ago
  4. 745f389 Don't block on OWNERS approval of by Andrii Shyshkalov · 2 weeks ago
  5. baa8aad scheduler recipe_module: remove deprecated method. by Andrii Shyshkalov · 2 weeks 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 each of their examples subfolders to get an idea how to use them in a recipe.

  • 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 -r
# Wait for approval over email.
# Click "Submit to CQ" button or ask reviewer to do it for you.
# Wait for the change to be tested and landed automatically.

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