commit | 22391916f2fa18a9e24df64968c6f3133f42238c | [log] [tgz] |
---|---|---|
author | Garrett Beaty <gbeaty@chromium.org> | Thu Apr 14 21:00:24 2022 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Apr 14 21:00:24 2022 |
tree | c68eed2e60fe5a28fbb9b38089184717a9d0bea6 | |
parent | e783f88f68a7c91a776a24729b942979727c825d [diff] |
Prevent spurious GitFetchErrors in CommitList.from_backend. Currently, the recipe roller occasionally fails when creating the commit lists with an error indicating an invalid range when the range is in fact valid. The reason for this is that when the commit lists are created, the repositories have already been fetched from the remote repository but then the revisions are resolved against the remote repository and no further fetching happens. This means that if the remote ref has changed since being fetched, the resolved refspec will be for a commit not contained in the local repository. This change modifies the Backend.updates method to take a refspec and a starting revision instead of two revisions. The GitBackend implementation of updates will resolve the refspec and if the revision isn't contained in local repo, it will fetch the refspec. Bug: 1313964 Change-Id: I5b388cd25c560700a969a325b846a5390cffdf02 Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/3582601 Reviewed-by: Robbie Iannucci <iannucci@chromium.org> Auto-Submit: Garrett Beaty <gbeaty@google.com> Commit-Queue: Garrett Beaty <gbeaty@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.