Reland "[recipe-py] rdb query: support tr_fields"

This reverts commit c3be45efdc6968f92f0e7376c3740b8413fca76a.

Reason for revert: reland the original CL with a fix

Original change's description:
> Revert "[recipe-py] rdb query: support tr_fields"
>
> This reverts commit 7c7d1692a27912d9750f8ddcdb06300b66f3939a.
>
> Reason for revert: broke https://ci.chromium.org/ui/p/infra/builders/ci/recipe_engine-recipes-tests/1445/overview
> Original change's description:
> > [recipe-py] rdb query: support tr_fields
> >
> > Bug: 1166491
> > Change-Id: Ia6d3621a6177071e8c879ed14355ef865a0682d2
> > Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/2976542
> > Commit-Queue: Chan Li <chanli@chromium.org>
> > Reviewed-by: Scott Lee <ddoman@chromium.org>
>
> Bug: 1166491
> Change-Id: I025a28d9a4eec2e8b4536afc13a0ee7b12608182
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/2977057
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Chan Li <chanli@chromium.org>

Bug: 1166491
Change-Id: I1a523e1622b0f75ef44bd2e6145706ed9d8f567e
Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/2977058
Reviewed-by: Scott Lee <ddoman@chromium.org>
Commit-Queue: Chan Li <chanli@chromium.org>
3 files changed
tree: c9565944e61ceaaeda440a5cf8197bbd9fe0f955
  1. doc/
  2. infra/
  3. misc/
  4. recipe_engine/
  5. recipe_modules/
  6. recipe_proto/
  7. recipes/
  8. unittests/
  9. .gitattributes
  10. .gitignore
  11. .style.yapf
  12. .vpython
  13. .vpython3
  14. .vpython3_dev
  15. AUTHORS
  16. codereview.settings
  17. CONTRIBUTORS
  18. LICENSE
  19. OWNERS
  20. PRESUBMIT.py
  21. README.md
  22. README.recipes.md
  23. recipes.py
README.md

Recipes

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.

Contributing

  • Sign the Google CLA.
  • Make sure your user.email and user.name 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 https://chromium.googlesource.com/chromium/tools/depot_tools.git $HOME/src/depot_tools
export PATH="$PATH:$HOME/src/depot_tools"

# Check out the recipe engine repo
git clone https://chromium.googlesource.com/infra/luci/recipes-py $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 joe@example.com
# 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.