Skip to main content
aspect ci warming fills a runner’s Bazel caches so the runner group’s jobs start warm. It’s the one command a scheduled warming job runs.
In order, it:
  1. Runs the runner health check, the same one every task runs during setup.
  2. Clears the previous Bazel state under the runner’s storage mount (ASPECT_WORKFLOWS_RUNNER_STORAGE_PATH), when that’s set.
  3. Runs bazel build --nobuild against the target patterns, which fetches external repositories and fills the repository and output caches without building anything.
  4. On an Aspect Workflows runner, uploads the populated caches as the warming archive.
Off a Workflows runner, the upload is reported as skipped and the task passes. The whole run reports as one status check, covering both the populate and the archive phases.
Requires Aspect CLI v2026.39.10 or newer. For turning warming on for a runner group, see runner warming.

Options

Bazel flags the task doesn’t recognize are forwarded to Bazel as they are: after the task name as command options, before it as startup options. See Flag passthrough. There’s no --output-base flag. On a Workflows runner the output base comes from the runner.

CI example

Run it on a schedule against your main branch, on the runner group you want warm. Per-provider examples are in Migrating from YAML: aspect ci warming.
GitHub Actions