commit | 543c8c1feed8e887c2928c804c070a763ebb5c3b | [log] [tgz] |
---|---|---|
author | Rob Mohr <mohrr@google.com> | Wed Jan 08 16:39:09 2025 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jan 08 16:39:09 2025 |
tree | c782c26a3fe271680e8c619ac940a0afeeb3892d | |
parent | b5dcb5f5561a08f3d1a4d24a2dc9df7c512a64e5 [diff] |
[lint] Better handle imports with dots Previously, a line like this would be flagged: import urllib.parse But this one would not: import urllib.parse as urlparse This is because in the first case, the top-level module object is 'urllib', which is not permitted. In the second case, the top-level module object is 'urllib.parse', which is permitted. If a top-level module object only has one attribute, and that attribute is another module, we can just evaluate that module instead of the top-level one. The nested module's '__name__' is still fully-qualified. Tested by adding those two lines to a recipe before and after applying this change and running './recipes.py lint'. Change-Id: I105480404b4df801c1fe35c27e81e8d7a1966343 Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/6149871 Reviewed-by: Robbie Iannucci <iannucci@chromium.org> Commit-Queue: Rob Mohr <mohrr@google.com>
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.