Bazel uses Buildkite for continuous integration. The buildkite folder contains all the scripts and configuration files necessary to setup Bazel's CI on Buildkite.
Buildkite currently does not support anonymous viewing of build results (it‘s in the works) and for now requires one to be logged in before being able to trigger builds, view build and test results. We have set up a separate mechanism to view build and test results for pull requests and so as a contributor to Bazel you typically don’t need access to Buildkite. However, if you are a maintainer of a repository under the @bazelbuild organisation or a Bazel team member with sheriff duties you probably do need access, and if so please ping either @buchgr, @philwo or @fweikert and we will get you on Buildkite.
When you first log into Buildkite you are presented with a list of pipelines. A pipeline consists of steps that are executed either in sequence or in parallel and that all need to succeed in order for the pipeline to succeed. The Bazel organisation has dozens of pipelines. Here are a selected few:
HEAD
every four hours.Bazel accepts contributions via pull requests. Contributions by members of the bazelbuild organisation as well as members of individual repositories (i.e. rule maintainers) are automatically whitelisted and will be build and tested on Buildkite automatically.
An external contribution first needs to be verified by a member before it‘s build and tested on Bazel’s CI. For external contributions you'll see a status as the below:
A member can approve the pull request by clicking on Details, followed by Verify Pull Request
Please vet those contributions carefully as they can run arbitrary code on our CI machines.
When you open a new pull request, Buildkite will first try to verify the contribution based on the pull request creator. That is, contributions by users who are part of the bazelbuild organisation are automatically accepted
That is, if the creator of the pull request is a Bazel team member then it will create a new pull request there.
When a new pull request is opened Buildkite will be triggered and first try to verify that the contribution