Enable Gradle configuration and build caches - #6
Merged
Conversation
Turn on org.gradle.configuration-cache and org.gradle.caching, run the Cut Release tests and signed build in one Gradle invocation (one configuration phase, one daemon), and pass an optional GRADLE_ENCRYPTION_KEY to setup-gradle so the configuration cache can persist across CI runs when the secret is configured.
The Cut Release configuration cache embeds the signing config, so drop the cache-encryption-key from that workflow entirely; it is rebuilt each run. Keep the optional key on the PR test workflow, whose runs have no keystore and therefore no signing data in the cache.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follows up on the configuration-cache suggestion in the v1.1.0 Cut Release run:
org.gradle.configuration-cacheandorg.gradle.cachingingradle.properties(verified locally: cache stored, reused, warm test run in under a second).gradle test assembleReleaseas a single invocation — one configuration phase and daemon start instead of two, and a failing test still aborts the release before anything is pushed.GRADLE_ENCRYPTION_KEYsecret (e.g.openssl rand -base64 16) to persist its configuration cache across runs — safe there because test runs have no keystore, so the cache contains no signing data. Without the secret nothing is persisted; the in-run caching still applies.