Fix hide-in-gerrit processing to hide the group.

Fix the processing of the hide-in-gerrit tag to hide the containing
group if all builds in the group are marked hide-in-gerrit. As it stands
now it only hides the build chips themselves and thus it leaves the
border of the "group" that contains the individual builds visible. This
effect can be seen here:

https://chrome-internal-review.googlesource.com/c/chromeos/project/zork/ezkinil/+/3100821/1

With the vertical lines spread amongst the non hide-in-gerrit build
groups. This change eliminates those lines.

BUG=None
TEST=npm run wct-test

Change-Id: I32452c6a14e72187bf591182bac8184fdef9f00e
Reviewed-on: https://chromium-review.googlesource.com/c/infra/gerrit-plugins/buildbucket/+/2247494
Reviewed-by: Sean Abraham <seanabraham@chromium.org>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Quinten Yearsley <qyearsley@chromium.org>
3 files changed
tree: 505cc59309add189a35543960debb5dacbb1dc3e
  1. src/
  2. test/
  3. .eslintrc.json
  4. .gitignore
  5. bower.json
  6. BUILD
  7. codereview.settings
  8. LICENSE
  9. package-lock.json
  10. package.json
  11. README.md
  12. run-with-prod-data.sh
  13. run-with-testsite.sh
  14. wct.conf.json
README.md

Buildbucket Plugin for Gerrit

Usage

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

Development

To use with the local testsite

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

To use with the polygerrit-ui server against live data

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

Testing

npm run wct-test

Note: Testing is disabled for Safari due to this issue.