Three categories of jobs run on https://ci.bazel.build:
Several jobs control the bootstrap and maintenance of Bazel, they are mostly under the
maintenance/install-bazel: installs Bazel release on all workers
maintenance/gerrit-verifier: detects pending reviews on Gerrit that need validation.
A review needs validation if somebody marks it as
bazel/nightly: handles the Global tests
This job runs every night.
bazel/release: copy of
bazel/nightly that runs for the release
This job also handles publishing the release artifacts.
bazel/presubmit: copy of
bazel/nightly that is triggered when someone sets
Presubmit-Ready+2 on Gerrit
These jobs simply run Bazel on a GitHub repository.
The job templates and definitions are under
Particularly interesting is
//jenkins/jobs/jobs.bzl: it contains the logic that computes which jobs to run on CI.
These jobs are copies of the jobs for the corresponding
<project>. These jobs all use the latest Bazel release:
PR/<project>: validates a GitHub pull request on
CR/<project>: validates a Gerrit review request on
Global/<project>: runs a global presubmit test for changes on