commit | 305370ff915e7a4ee316fc3366f36833796310b5 | [log] [tgz] |
---|---|---|
author | Robert Iannucci <iannucci@chromium.org> | Wed May 06 22:52:28 2020 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed May 06 22:52:28 2020 |
tree | f652fedc9ebb2f51a1dc71ddb33e5d93a29fdbc2 | |
parent | bebfc7949f03ac665c5df77fc1c0c69786630744 [diff] |
[post_process_inputs] Improve Command matcher to allow multiple subsequences. This will allow matching a command with: ['prefix', Ellipsis, '--arg', re.compile('stuff')] The syntax in python2 is yucky, but in python3 this will become: ['prefix', ..., '--arg', re.compile('arg.*val')] Which looks much more obvious. This also optimizes the matcher a bit to avoid creating any sliced lists by just using offsets during the matching routine. Because Ellipsis has variable size, also adds memoization to prevent doing extra work. R=gbeaty@chromium.org, yiwzhang@chromium.org Bug: 1071627 Change-Id: Iccafa4bedc0eaf162a0927c14307e88465598704 Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/2185823 Auto-Submit: Robbie Iannucci <iannucci@chromium.org> Commit-Queue: Garrett Beaty <gbeaty@chromium.org> Reviewed-by: Garrett Beaty <gbeaty@chromium.org>
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.
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.