Replies: 1 comment
-
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
🏷️ Discussion Type
Product Feedback
💬 Feature/Topic Area
Actions Cache
Discussion Details
I would like GitHub Actions Cache to support higher rate limits for granular build-cache workloads.
Use case:
I want fast
go buildand fastgolangci-lintruns in GitHub Actions.Go has an official external build cache protocol,
GOCACHEPROG: https://pkg.go.dev/cmd/go/internal/cacheproggolangci-lintalso supports cache integration throughGOLANGCI_LINT_CACHEPROG: https://github.com/golangci/golangci-lint/blob/8baaf6d0eacf5b1a7c10c200f6766662cff3964c/internal/go/cache/default_gcil.go#L5For workloads like
go build, granular caching is the right cache shape. Caching one large directory by lock file is a poor fit:In practice, even a small Go program can easily require 3k+ cache entries, and a normal Go
maincan require 10k+ entries. That is far beyond the current GitHub Actions dependency cache API rate limits: 200 cache uploads/minute and 1500 cache downloads/minute per repository: https://docs.github.com/en/actions/reference/limitsWhen trying to back
GOCACHEPROGwith GitHub Actions Cache directly, workflows quickly hit 429s. Failed remote restores become local cache misses, Go rebuilds the entries, and then many remote saves fail too. A secondgo buildinside the same job may be fast because of a job-local cache, but a rerun of the same commit is still slow because the remote cache cannot serve this granular workload reliably.Request:
Please consider increasing the GitHub Actions Cache rate limits so granular build caches can be practical. The current dependency-cache rate limits make this use case infeasible even though the storage model is otherwise very useful.
A related improvement would be officially maintained granular cache actions for common build-cache protocols, such as Go
GOCACHEPROG, with GitHub-native auth, permissions, branch scoping, retention, cache visibility, and billing.External storage like S3 or GCS can be used, but it would be better if this worked directly with GitHub Actions Cache.
Beta Was this translation helpful? Give feedback.
All reactions