commit | 41d5fd6996219fd7e647f12ac7b4ba89121c96bd | [log] [tgz] |
---|---|---|
author | Gavin Mak <gavinmak@google.com> | Tue Feb 16 23:58:26 2021 |
committer | Gavin Mak <gavinmak@google.com> | Tue Feb 16 23:58:26 2021 |
tree | ef22deee15c3d9b45b8ac8b3987422d6874f9740 | |
parent | 2028128f0c4f04545107cbf0e75592e5103cfaac [diff] |
Add top level action to retry failed builds Based on the number of failed builders for a given change and patchset, a top level action is added which uses retryFailedBuildsCallback and reruns failed builds. This change also moves RETRY_FAILED_TAG from cr-buildbucket-view to checks-fetcher. Bug: 1174869 Change-Id: I14d5803f2fca9860fea1902972e196e0356dfc62 Reviewed-on: https://chromium-review.googlesource.com/c/infra/gerrit-plugins/buildbucket/+/2693906 Reviewed-by: Nodir Turakulov <nodir@chromium.org> Reviewed-by: Weiwei Lin <weiweilin@google.com>
This plugin is configured via the buildbucket.config
file present in the repo‘s refs/meta/config
ref, as well as the same file in all repositories in the repo’s inheritance chain (up to and including All-Projects).
An example buildbucket.config is below:
[host] git = "chromium.googlesource.com" gerrit = "chromium-review.googlesource.com" [bucket "luci.chromium.try"] [bucket "luci.chrome.try"]
In the vast majority of cases, the host.git
and host.gerrit
values are global to the entire host, so that stanza is specified in the All-Projects repo. Buckets and builders, on the other hand, are almost always very repository-specific, and so are only specified in “leaf” repositories which are not in any other repo's inheritance chain.
All changes to buildbucket.config
files are instantly reflected. There is no caching period or need to restart the server.
If your project doesn't want the “retry failed” button to show, you can disable it:
[option] hide-retry-button = true
Use the script run-with-testsite.sh; this rebuilds the plugin with bazel, copies it over and restarts the local testsite. Example invocation:
GERRIT_DIR=~/gerrit GERRIT_TESTSITE_DIR=~/testsite ./run-with-testsite.sh
Use the script run-with-prod-data.sh; this creates a temporary directory with the plugin source in the expected layout and then invokes polygerrit-ui/run-server.sh
. Example invocation:
GERRIT_DIR=~/gerrit ./run-with-prod-data.sh
npm run wct-test
Note: Testing is disabled for Safari due to this issue.