Add BazelConfiguration groovy class

This is just a convenience class to read configuration from
hierarchical json descriptor and return a list of configuration
to execute. Each configuration contains a descriptor (key=value pair,
e.g. the node label to run on) and a set of configuration parameters.

This change also add a BUILD file and some test to the groovy library
so we need to change the way we ship the library inside the docker
container.

Change-Id: I5d6a2090b4360a0497b96e466df65ee52d19bbdb
6 files changed
tree: 6874e72e54a4926ea36a0e9fe9cbc53a0ef340ec
  1. base/
  2. docs/
  3. gce/
  4. gcr/
  5. gerrit-github-sync/
  6. jenkins/
  7. mac/
  8. templating/
  9. .gitignore
  10. AUTHORS
  11. CONTRIBUTING.md
  12. CONTRIBUTORS
  13. LICENSE.txt
  14. README.md
  15. WORKSPACE
README.md

Bazel continous integration setup

This workspace contains the setup for the continuous integration system of Bazel. This setup is based on docker images built by bazel.

Make sure you have a Bazel installed with a recent enough version of it. Also make sure gcloud and docker are correctly configured on your machine. Only docker version 1.10 or later is supported.

More documentation:

  • init.sh: initializes the whole CI platform. This may delete VMs and do other irreversible changes, so handle with care.
  • vm.sh: lets you control the machines (e.g. start/stop them, create/delete/reimage them), including the Jenkins controller and the executor nodes.
  • workflow: explains the CI workflow, and how you can test local changes with jenkins-staging
  • jobs: explains what jobs are running on the CI