commit | c39cdbca1168e9bac33913f0b2f3d470acd52e1f | [log] [tgz] |
---|---|---|
author | Nodir Turakulov <nodir@google.com> | Thu Apr 26 07:13:00 2018 |
committer | Nodir Turakulov <nodir@chromium.org> | Thu Apr 26 07:13:18 2018 |
tree | 1bc4d6696d7e0bdc1f7aea56d8cd8033b21992ec | |
parent | 45f02b90b32b45d97d596688dbc0e422d8fe86c0 [diff] |
[buildbucket-gerrit] simplify _updateBuckets _updateBuckets combines the logic of computing the final list of builders and updating the element state. Simplify _updateBuckets by limiting its responsibility to computing and making it pure. This simplifies its tests too. Move the responsibility of updating element state and "canceling" previous operation to _pluginConfigChanged. Also a minor improvements to comments and filtering out buckets without builders. Bug: 813196 Change-Id: I0f466de59a3d5af4940184ecc8da29131999afcf Reviewed-on: https://chromium-review.googlesource.com/1027207 Reviewed-by: Quinten Yearsley <qyearsley@chromium.org>
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 "chromium.buildbucket.swarming"] builder = infra_presubmit builder = infra_linux64 builder = infra_mac builder = infra_win [bucket "tryserver.infra"] builder = Infra Presubmit builder = Infra Linux Trusty 64 Tester builder = Infra Linux Precise 32 Tester builder = Infra Mac Tester builder = Infra Win Tester
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.
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
# Install dependencies. npm install -g bower npm install -g web-component-tester cd test/ bower install # Run the tests from the directory root. cd ../ wct
Note: Testing is disabled for Safari due to this issue.