Clone this repo:

Branches

  1. 54cf0ee More explicit support for scheduled builds by Aaron Gable · 2 months ago master
  2. 4545719 Halve spacing between builder elements by Aaron Gable · 2 months ago
  3. 5228f27 Better display of scheduled-but-not-yet-started builds by Aaron Gable · 2 months ago
  4. c3e29a1 Use purer Material colors for buildbucket plugin by Aaron Gable · 3 months ago
  5. 640295e Use ES6 features (const/let/arrow functions) by Andrew Bonventre · 4 months ago

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 "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.

Development

To use with the local testsite

ln -s /path/to/buildbucket-plugin plugins/buildbucket
bazel build plugins/buildbucket && \
  rm -rf ../gerrit_testsite/plugins/buildbucket.jar && \
  cp bazel-genfiles/plugins/buildbucket/buildbucket.jar ../gerrit_testsite/plugins/ && \
  ../gerrit_testsite/bin/gerrit.sh restart

To use with the polygerrit-ui server against live data

mkdir -p polygerrit-ui/app/plugins/buildbucket
ln -s /path/to/buildbucket-plugin/src/main/resources/static polygerrit-ui/app/plugins/buildbucket/static
./polygerrit-ui/run-server.sh -host chromium-review.googlesource.com

You will also need to edit _computeBuildTags to use the constant hostname chromium-review.googlesource.com instead of window.location.hostname.

Testing

# 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.