commit | adb648a9367a42b95f231933d3e55a5a41954cc9 | [log] [tgz] |
---|---|---|
author | Oliver Newman <olivernewman@google.com> | Mon May 20 18:11:34 2024 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon May 20 18:11:34 2024 |
tree | 0c5197ae54b42a83c79745845708afcb3e2a6ad5 | |
parent | af183010daeb54ef136e063796327a9ccec63eec [diff] |
[step] Propagate canceled statuses to parent steps Previously, parent steps of a step that got canceled would always have their statuses marked as infra failures, which is confusing because it makes it look like there are multiple different failure modes going on, when in fact all the step failures are due to the cancelation. This also fixes some cases where a parent step was incorrectly marked as an infra failure because the nested code raised an exception that was a subclass of `StepFailure` - the old code used exact equality of exception types, whereas the new code correctly handles subclasses. This is why this CL causes nontrivial rolls into several downstream recipe repos. Before: https://screenshot.googleplex.com/9CGoNYiRjYQRHaV After: https://screenshot.googleplex.com/8YWXwix3BYvQyWR Recipe-Nontrivial-Roll: chromiumos Recipe-Nontrivial-Roll: fuchsia Recipe-Nontrivial-Roll: pigweed Change-Id: I32737a5fc4d3d82a78dc31c878baa12db86ac205 Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/5540028 Reviewed-by: Chan Li <chanli@chromium.org> Commit-Queue: Oliver Newman <olivernewman@google.com> Reviewed-by: Robbie Iannucci <iannucci@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.