Skip to content

Bazel caching for GitHub Actions workflows #1236

@wchargin

Description

@wchargin

It looks like your CI jobs build from scratch on every build, and thus
take many hours of workflow time (e.g., 7 hours for this workflow).
These cause builds for the entire TF organization to queue.

Bazel has built-in support for incremental remote caching. This is
not a Travis-style giant opaque cache that needs to be sent to and from
the VM on each run. Instead, it’s a fine-grained key-value store that
stores the results for individual actions on a remote server. It has
transparent integration with GCS and can be used with just a backing
bucket.

Could you please investigate using this? It would make you happy, and it
would make us and everyone else happy.

We use this on TensorBoard. It speeds up our builds from ~75 minutes
(clean slate) to ~4 minutes (no-op). You can look at our workflow file
and our bazelrc for guidance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions