Skip to content

feat(ccache): add opt-in in-cluster Redis remote backend#6468

Draft
subodh-dubey-amd wants to merge 2 commits into
users/subodh-dubey-amd/sccache-mathlibs-debugfrom
users/subodh-dubey-amd/redis-ccache-backend
Draft

feat(ccache): add opt-in in-cluster Redis remote backend#6468
subodh-dubey-amd wants to merge 2 commits into
users/subodh-dubey-amd/sccache-mathlibs-debugfrom
users/subodh-dubey-amd/redis-ccache-backend

Conversation

@subodh-dubey-amd

@subodh-dubey-amd subodh-dubey-amd commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Stacked on users/subodh-dubey-amd/sccache-mathlibs-debug (it carries the cache_type plumbing this builds on). Retarget to main once that lands.

Summary

  • build_tools/setup_ccache.py: new github-oss-redis preset pointing at the in-cluster Redis service (redis://redis-ccache-svc.redis-ccache-ns.svc.cluster.local:6379), overridable via CCACHE_REDIS_ENDPOINT. bazel-remote presets unchanged.
  • Threads an opt-in cache_type=ccache-redis through multi_arch_ci.ymlmulti_arch_ci_linux.ymlmulti_arch_build_portable_linux.yml → artifacts, which gains a ccache-redis branch (redis preset + ccache launcher flags + stats). Default stays sccache.
  • Also forwards cache_type to the storage-libs stage (was missing).
  • Docs: ccache_troubleshooting.md documents the backend + corrects the stale "ccache is the default" note.

Infra (Redis deploy) is in ROCm/TheRock-Infra#416.

Notes

  • In-cluster only (ClusterIP, no auth, like bazel-remote); reachable from aws-linux-scale-rocm-prod. Windows/sanitizer (Azure) can use it once they move into the AWS cluster.
  • ccache's built-in Redis backend has no TLS and is deprecated for removal in ccache 4.14/4.15 — works with the pinned 4.11.2.

Test plan

  • Deploy Redis via TheRock-Infra#415.
  • workflow_dispatch Multi-Arch CI on this branch with cache_type=ccache-redis, linux_amdgpu_families=gfx94X.
  • Confirm remote hits in the build "Report" step (ccache -s -v); compare vs sccache.

Adds a github-oss-redis preset to setup_ccache.py and threads an opt-in
cache_type=ccache-redis through the multi-arch Linux CI workflows. Default
remains sccache. Redis is deployed in-cluster via ROCm/TheRock-Infra.

Co-authored-by: Cursor <cursoragent@cursor.com>
- mdformat: fix table whitespace in ccache_troubleshooting.md
- black: wrap long line in setup_sccache_rocm.py (pre-existing, flagged by --all-files)
@subodh-dubey-amd subodh-dubey-amd marked this pull request as draft July 10, 2026 19:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: TODO

Development

Successfully merging this pull request may close these issues.

1 participant