Clone this repo:
  1. 8d23e81 Update protos from luci-go by Yiwei Zhang · 34 hours ago master
  2. b52da73 Reland "[swarming] Use ensure_tool() to install swarming" by Oliver Newman · 35 hours ago
  3. 58f654b [luciexe] support output flag with differnt encoding based on extension by Yiwei Zhang · 2 days ago
  4. 04d01ab [luciexe] Strip properties of `unicode` types. by Robert Iannucci · 2 days ago
  5. 199d97f [luciexe] Log uncaught exceptions in luciexe/cmd. by Robert Iannucci · 2 days ago


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

They allow writing build flows which integrate with the rest of LUCI.

Documentation for the recipe engine (including this file!). Take a look at the user guide for some hints on how to get started. See the implementation details doc for more detailed implementation information about the recipe engine.


  • 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:

# Get `depot_tools` in $PATH if you don't have it
git clone $HOME/src/depot_tools
export PATH="$PATH:$HOME/src/depot_tools"

# Check out the recipe engine repo
git clone $HOME/src/recipes-py

# make your change
cd $HOME/src/recipes-py
git new-branch cool_feature
# 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.