-
Notifications
You must be signed in to change notification settings - Fork 724
Improve caching system for actions #2249
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
base: master
Are you sure you want to change the base?
Conversation
This requires adding a new secret in GitHub settings, `GRADLE_ENCRYPTION_KEY` which can be generated with `openssl rand -base64 16`. This significantly improves caching performance, not only supporting build cache, but configuration cache as well. The encryption key is necessary to enable that for security. It won't work without it. Using this action also provides more information on build status in workflow results page.
|
Im working on a new truly configuration cache supported version of the git commit, once that is finished this will be much more useful, in the meantime, all my testing indicates this works very well and also helps speed up the build drastically even when things like build.gradle.kts is changed, and only purges the cache and rebuilds when actual packages are changed making the cache smarter and faster in more circumstances as well. |
|
This will remain a draft until #2206 is merged, as with that, I think I found a way to make the git commit stuff fully configuration cache compatible (but couldn't figure out how to using the legacy buildscript/classpath method) so it doesn't prevent reuse when |
|
I still need to make the git stuff truly support configuration cache but what I thought was working was actually just changing what invalides it (exec output instead of file) the 40 seconds for pre release does work when we don't invalidate (like if the git code is commented out) so if we can get it to support it will be a massive benefit (I think its possible its just more difficult then I thought for me anyway). |
|
Combined with #2285 (which I FINALLY figured out... took way to long) this has a massive boost in build time when using configuration cache. |


This requires adding a new secret in GitHub settings,
GRADLE_ENCRYPTION_KEYwhich can be generated withopenssl rand -base64 16.This significantly improves caching performance, not only supporting build cache, but configuration cache as well. The encryption key is necessary to enable that for security. It won't work without it.
Using this action also provides more information on build status in workflow results page. It also adds validation for wrapper jar files.
Marked as draft for now because while I have tested this some, I need to test this more before also adding to prerelease and other actions.