actions / actions/actions-runner-controller
Warm cache on runner init / runner idle
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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