-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for non-GitHub-hosted caching for self-hosted runners #1051
Comments
I concur! It would be great to be able to store the cache on the runner (or any sel-hosted storage) instead of GitHub's servers. Otherwise it's a waste of resources. |
Has anybody tested this? : https://github.com/whywaita/actions-cache-s3 |
I guess that in the future there will be more self-hosted runners deployed via Kubernetes. With that in mind, maybe it make sense to just add support for caching to a local path. The k8s can then handle the storage based on any cluster persistent volume (ex OpenEBS with directly attached NVMe). S3 protocol is an option, and with minio is easy to deploy a local S3 server. But for best performance, maybe a local filesystem storage is much faster... and I expect that it might not be that hard to implement. For example, I have a bare metal Windows server, that runs a bunch of runner processes in parallel. No VMs, no containers. Windows NTFS filesystem is already super slow. |
I started my own solution, forked the |
Describe the enhancement
Right now, Action caching isn't very useful when using self-hosted GitHub Actions runners: I have runners deployed on my own hardware but the cached data is being sent to and from GitHub cache servers. The time and cost of making those transfers across the Internet and back makes caching almost entirely pointless for self-hosted runners.
Instead I'd like the ability to use the GitHub Actions caching API to cache data on my own servers nearer my runners.
What's missing:
ACTIONS_CACHE_URL
that is provided by the runner environment and points to a GitHub server, but there's no easy way to override that. Even if there were, it looks like the cache system authenticates usingACTIONS_RUNTIME_TOKEN
, which also lacks documentation or the ability to override. It's also used for more than just caching, so if I did somehow override it to point to a custom caching server, it would break something else in the actions runner.Additional information
Add any other context about the feature here.
The text was updated successfully, but these errors were encountered: