actions / actions/actions-runner-controller

Warm cache on runner init / runner idle

Open
#2,484 8 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement needs triage
Dominant language
Go
Stars
6.5k
Forks
1.5k
Avg merge
2d 2h
Merged PRs (30d)
27

Description

What would you like added?

I want to use stateful runners with autoscaling.
I want to specify custom commands that are run in the pod (with access to the pods mounts / volumes) before the runner registers with github or from time to time when it's idling that are used to warm up caches for build actions. (Bazel in my case but this probably applies to other build systems / actions as well).

Why is this needed?

I want to have a small amount of runners always available. However, those runners should not only be available but also have a warm cache. The same applies while scaling up: if a fresh runner becomes available, I want it to have a baseline of pre-caching.
If runners are not used for some time, their caches will be stale so I would either like to re-run the cache warming or replace runners if they are idle for some amount of time.

Additional context

n/a

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by locating the runner initialization, registration, and idle-handling paths, then review how pod commands and mounts are configured. Done means custom cache-warming commands can run before registration and during idle periods, with behavior covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, go, kubernetes
Domain
ci-cd, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.