mirror of
https://github.com/gradle/actions.git
synced 2026-04-19 18:12:58 +08:00
Add open-source 'basic' cache provider and revamp licensing documentation (#930)
## Summary
- **New `basic` cache provider**: Adds an open-source (MIT-licensed)
caching implementation built on `@actions/cache` as an alternative to
the proprietary Enhanced Caching. Users can opt in with `cache-provider:
basic` on both `setup-gradle` and `dependency-submission` actions.
- **Revamped licensing & distribution docs**: Replaces the verbose
licensing notice block (previously shown in README, docs, and logs) with
a friendlier callout and a new dedicated
[DISTRIBUTION.md](./DISTRIBUTION.md) covering component licensing, usage
tiers, data privacy ("Safe Harbor"), and opt-out instructions.
- **Improved messaging**: Enhanced Caching and Basic Caching each
display concise, informative log messages and job summary notes instead
of the previous wall-of-text license warning.
- **New integration tests**: Adds `integ-test-basic-cache-provider.yml`
workflow that seeds and verifies the basic cache provider across
platforms, plus unit tests for `BasicCacheService` and `getCacheService`
selection logic.
- **CI workflow reorganization**: Dependency-submission integration
tests extracted into their own reusable suite
(`suite-integ-test-dependency-submission.yml`); sample project tests
moved into the caching suite.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -15,21 +15,14 @@ for vulnerable dependencies, as well as to populate the
|
||||
|
||||
If you're confused by the behaviour you're seeing or have specific questions, please check out [the FAQ](dependency-submission-faq.md) before raising an issue.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> ## Licensing notice
|
||||
> [!NOTE]
|
||||
> ### ⚡️ Choice of caching providers in v6
|
||||
> To provide the fastest possible build experience this action includes **Enhanced Caching** via `gradle-actions-caching`, an optimized provider powered by proprietary technology. This feature is **free for all public repositories** and is currently available as a **Free Preview** for private repositories.
|
||||
>
|
||||
> The software in this repository is licensed under the [MIT License](LICENSE).
|
||||
> **Prefer a 100% Open Source (MIT) path?**
|
||||
> We also provide a **Basic Caching** provider as a thin wrapper over `actions/cache`. This provider is **free for all repositories** (public and private) and can be enabled at any time by setting `cache-provider: basic`.
|
||||
>
|
||||
> The caching functionality in this project has been extracted into `gradle-actions-caching`, a proprietary commercial component that is not covered by the MIT License for this repository.
|
||||
> The bundled `gradle-actions-caching` component is licensed and governed by a separate license, available at https://gradle.com/legal/terms-of-use/.
|
||||
>
|
||||
> The `gradle-actions-caching` component is used only when caching is enabled and is not loaded or used when caching is disabled.
|
||||
>
|
||||
> Use of the `gradle-actions-caching` component is subject to a separate license, available at https://gradle.com/legal/terms-of-use/.
|
||||
> If you do not agree to these license terms, do not use the `gradle-actions-caching` component.
|
||||
|
||||
This license notice will be displayed in workflow logs and each job summary. To suppress this message,
|
||||
either [accept the terms of use](setup-gradle.md#publishing-to-scansgradlecom) in your workflow, or [provide a Develocity access key](setup-gradle.md#managing-develocity-access-keys).
|
||||
> For a full breakdown of the components, usage tiers, and our **Safe Harbor** data privacy commitment, see our [Distribution & Licensing Guide](./DISTRIBUTION.md).
|
||||
|
||||
## General usage
|
||||
|
||||
@@ -76,6 +69,10 @@ on the command-line will be used.
|
||||
The action provides the ability to override the Gradle version and task to execute, as well as provide
|
||||
additional arguments that will be passed to Gradle on the command-line. See [Configuration Parameters](#configuration-parameters) below.
|
||||
|
||||
### Selecting a cache provider
|
||||
|
||||
See [Selecting a cache provider](setup-gradle.md#selecting-a-cache-provider) for details on choosing between the `enhanced` (default) and `basic` cache providers via the `cache-provider` input.
|
||||
|
||||
### Disabling caching
|
||||
|
||||
Caching is enabled by default. You can disable caching for the action as follows:
|
||||
|
||||
+21
-13
@@ -2,21 +2,14 @@
|
||||
|
||||
This GitHub Action can be used to configure Gradle for optimal execution on any platform supported by GitHub Actions.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> ## Licensing notice
|
||||
> [!NOTE]
|
||||
> ### ⚡️ Choice of caching providers in v6
|
||||
> To provide the fastest possible build experience this action includes **Enhanced Caching** via `gradle-actions-caching`, an optimized provider powered by proprietary technology. This feature is **free for all public repositories** and is currently available as a **Free Preview** for private repositories.
|
||||
>
|
||||
> The software in this repository is licensed under the [MIT License](LICENSE).
|
||||
> **Prefer a 100% Open Source (MIT) path?**
|
||||
> We also provide a **Basic Caching** provider as a thin wrapper over `actions/cache`. This provider is **free for all repositories** (public and private) and can be enabled at any time by setting `cache-provider: basic`.
|
||||
>
|
||||
> The caching functionality in this project has been extracted into `gradle-actions-caching`, a proprietary commercial component that is not covered by the MIT License for this repository.
|
||||
> The bundled `gradle-actions-caching` component is licensed and governed by a separate license, available at https://gradle.com/legal/terms-of-use/.
|
||||
>
|
||||
> The `gradle-actions-caching` component is used only when caching is enabled and is not loaded or used when caching is disabled.
|
||||
>
|
||||
> Use of the `gradle-actions-caching` component is subject to a separate license, available at https://gradle.com/legal/terms-of-use/.
|
||||
> If you do not agree to these license terms, do not use the `gradle-actions-caching` component.
|
||||
|
||||
This license notice will be displayed in workflow logs and each job summary. To suppress this message,
|
||||
either [accept the terms of use](#publishing-to-scansgradlecom) in your workflow, or [provide a Develocity access key](#managing-develocity-access-keys).
|
||||
> For a full breakdown of the components, usage tiers, and our **Safe Harbor** data privacy commitment, see our [Distribution & Licensing Guide](./DISTRIBUTION.md).
|
||||
|
||||
## Why use the `setup-gradle` action?
|
||||
|
||||
@@ -133,6 +126,21 @@ To reduce the space required for caching, this action attempts to reduce duplica
|
||||
|
||||
The state will be restored from the cache during the first `setup-gradle` step for any workflow job, and cache entries will be written back to the cache at the end of the job after all Gradle executions have been completed.
|
||||
|
||||
### Selecting a cache provider
|
||||
|
||||
The `setup-gradle` action offers two caching components, offered under different license terms and with different features.
|
||||
See [DISTRIBUTION.md](../DISTRIBUTION.md) for more details.
|
||||
|
||||
You choose which cache to use via the `cache-provider` input:
|
||||
|
||||
- **`enhanced`** (default): Uses the full-featured commercial `gradle-actions-caching` library. Provides advanced features like fine-grained cache entries and intelligent cache cleanup.
|
||||
- **`basic`**: A fully open-source caching implementation built on the standard GitHub Actions cache (`@actions/cache`). Caches the `~/.gradle/caches` and `~/.gradle/wrapper` directories using a cache key based on your Gradle build files (same strategy as `actions/setup-java` with `cache: gradle`).
|
||||
|
||||
```yaml
|
||||
# Use the open-source basic cache provider
|
||||
cache-provider: basic
|
||||
```
|
||||
|
||||
### Disabling caching
|
||||
|
||||
Caching is enabled by default. You can disable caching for the action as follows:
|
||||
|
||||
Reference in New Issue
Block a user