The actions now report the support status of every Gradle version used in a workflow, as job
annotations and in the Job Summary (#1057). Thanks to @ov7a for the contribution.
version kind
job annotation
version table
below the table
End-of-life — two or more major versions behind the latest release
Deliberately not reported: patch releases (being on 9.7.0 when 9.7.1 exists is not flagged) and
pre-releases (release candidates, milestones and snapshots never produce annotations). The latest
Gradle release is determined from the wrapper checksum data already bundled with the action, so no
network access is required.
Note that these annotations are emitted independently of the add-job-summary setting: setting
add-job-summary: 'never' suppresses the Job Summary itself, but the warning and notice annotations
remain.
Gradle itself is now reported in the dependency graph
The headline change is that the Gradle Build Tool running the build is now reported as an
org.gradle:gradle-core dependency, so that GitHub can surface known vulnerabilities in the version
of Gradle used to run your build. These are the coordinates that GitHub advisories for the Gradle
Build Tool are published against.
Details worth knowing:
The entry is always reported as a direct dependency with development scope.
It is not affected by the project, configuration or scope filters, so it appears even in graphs
that filter aggressively.
Expect dependency graphs to gain this one new entry the first time a build runs after upgrading.
A new Gradle signing key, if you use dependency verification
[!IMPORTANT]
If your build has dependency verification
enabled, you must add a second trusted key before upgrading, or Dependency Graph generation will
fail signature verification.
github-dependency-graph-gradle-plugin 1.5.0 is signed with a new Gradle signing subkey, and the
key previously documented in our setup guide has been revoked upstream:
Artifact
Signing key
org.gradle:github-dependency-graph-gradle-plugin 1.5.0 and later
Because the Develocity Gradle plugin is still signed with the old key, you should trust both keys
rather than swapping one for the other — replacing the old key outright will break Develocity
injection. The documented snippet in docs/setup-gradle.md
has been updated accordingly (#1071):
cache-provider: external for externally managed Gradle User Home
Builds that save and restore Gradle User Home by some other mechanism (Develocity Artifact Cache, for
example) previously had to set cache-disabled: true, which was misleading: caching wasn't disabled,
it just wasn't managed by this action, and the Job Summary reported it as "Disabled".
cache-provider: external skips Gradle User Home restore/save exactly as cache-disabled does, but
reports a distinct External status in the Job Summary explaining that caching is handled by
another provider (#1059).
Develocity access keys containing OIDC tokens now work
Short-lived-token handling validated the server=key[;server=key]* access key format with a regex
whose key portion was too strict, so an access key holding an OIDC token value was rejected
outright. Worse, had it passed the regex, parsing split each entry on = and kept only the second
field — silently truncating any key containing = (as JWT padding does) and sending the mangled
key to the server. Both problems are fixed (#1061).
Job Summary attribution
Job summaries produced by setup-gradle and dependency-submission now carry a top-level heading
naming the action, so the block stays attributable when another action's summary content lands in the
same job (#1058).
Enhanced Caching: Windows fixes and a cache-protocol bump
This release updates gradle-actions-caching to v1.0.0 (up from v0.7.0), which fixes two significant caching defects, both most visible on Windows:
Cache entries failed to store at all on Windows.. Every entry failed
with Path Validation Error: Path(s) specified in the action for caching do(es) not exist, even though the Gradle User Home was fully intact. Nothing was stored, so
every downstream job ran against an empty Gradle User Home. The cause was a nested,
unpatched copy of @actions/glob combined with a silently swallowed require() in
the bundle, which left Windows path separators unnormalized.
Cache cleanup deleted instrumented jars that were in use. A bug in key
hashing for paths shorter than 64 characters made cleanup judge freshly created
caches/jars-9 entries as unused and remove them, so the instrumented-jars entry
was never saved and every job re-instrumented its classpaths.
Also included: cache entry names are now consistent between the save and restore
reports — restore previously fell back to showing the raw glob pattern (e.g.
/home/runner/.gradle/caches/modules-*/files-*/*/*/*/*/) instead of dependencies.
[!IMPORTANT] Existing cache entries are invalidated by this release. The cache protocol
version was bumped to v2, so the first run after upgrading will be a cache miss
and will repopulate the cache. No configuration changes are required.
Basic caching warns instead of failing silently
The basic (open-source) caching provider now emits a warning and reports
(Entry not saved: save failed) in the Job Summary when a cache save fails, rather
than reporting success (#1028).
Dependency submission works with Isolated Projects
dependency-submission now disables Isolated Projects via a promoted property, so
dependency graph generation works on builds that enable it (#1025). Thanks to @reinsch82 for the contribution.
Updated defaults
Injected Develocity Gradle plugin: 4.4.2 → 4.5.0
36 new known-good wrapper checksums added for wrapper-validation
What's Changed
Render configuration-cache status in the caching Job Summary by @bigdaz in #989
This release brings significant behaviour improvements to Enhanced caching, improvements to the generated Job Summary, and a number of correctness and security fixes.
Improved cache-cleanup mechanism. Cleanup of stale files from the Gradle User Home is now faster, and no longer depends on Gradle or a JVM. It works by inspecting the local file state directly, removing the Gradle invocation from the post-build step.
More granular, more stable caching. The local build cache is stored as a separate cache entry, so it can be restored and invalidated independently of the main Gradle User Home entry. Transient Gradle housekeeping files are excluded from the cache, reducing its size and improving stability.
Hide obsolete Job summaries in PR commments: When a new Job summary comment is added to a PR, previous outdated Job summaries are now hidden.
Improved caching report in the job summary. The cache report now uses a single, consistent layout across all cache states and providers. Provider information is integrated directly into the report, and per-entry details are available in an expandable section. (#985)
Correctness and security fixes. A unique cache key is now used per run attempt, so re-runs no longer collide; the job summary shows the cache key string rather than an internal id; and bundled dependencies have been updated, including a ReDoS fix and a fast-xml CVE fix.
What's Changed
Remove unnecessary dependency overrides by @bigdaz in #981
Scope CI-integ-test concurrency groups per-branch by @bigdaz in #983
A new MIT-licensed Basic Caching provider is now available as an alternative to the proprietary Enhanced Caching provided by gradle-actions-caching. Choose Basic Caching by setting cache-provider: basic on setup-gradle or dependency-submission actions.
Built on @actions/cache -- fully open source
Caches ~/.gradle/caches and ~/.gradle/wrapper directories
Cache key derived from build files (*.gradle*, gradle-wrapper.properties, etc.)
Clean cache on build file changes (no restore keys, preventing stale entry accumulation)
Limitations vs Enhanced Caching: No cache cleanup, no deduplication of cached content, cached content is fixed unless build files change.
Revamped Licensing & Distribution Documentation
New DISTRIBUTION.md documents the licensing of each component (particularly Basic Caching vs Enhanced Caching)
Simplified licensing notices in README, docs, and runtime log output
Clear usage tiers: Enhanced Caching is free for public repos and in Free Preview for private repos
What's Changed
Use a unique cache entry for wrapper-validation test by @bigdaz in #921
[!IMPORTANT]
The release of gradle/actions@v6 contains important changes to the license terms. More details in this blog post. TL;DR: By upgrading to v6, you accept the Terms of Use for the gradle-actions-caching component.
Summary
The license changes in v6 introduced a gradle-actions-caching license notice that is printed in logs and in each job summary.
With this release, the license notice will be muted if build-scan terms have been accepted, or if a Develocity access key is provided.
Add typing information for use by typesafegithub by @bigdaz in #910
Mute license warning when terms are accepted by @bigdaz in #911
Mention explicit license acceptance in notice by @bigdaz in #912
Bump com.fasterxml.jackson.dataformat:jackson-dataformat-smile from 2.21.1 to 2.21.2 in /sources/test/init-scripts in the gradle group across 1 directory by @dependabot[bot] in #907
[!IMPORTANT]
The release of gradle/actions@v6 contains important changes to the license terms. More details in this blog post. TL;DR: By upgrading to v6, you accept the Terms of Use for the gradle-actions-caching component.
Summary
Caching functionality of 'gradle-actions' has been extracted into a separate gradle-actions-caching library, and is no longer open-source. See this blog post for more context.
Existing, rudimentary, configuration-cache support has been removed, pending a fully functional implementation in gradle-actions-caching.
Dependencies updated to address security vulnerabilities
[!IMPORTANT]
Licensing notice
The caching functionality in `gradle-actions` has been extracted into `gradle-actions-caching`, a proprietary commercial component that is not covered by the MIT License.
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.
What's Changed
Bump the npm-dependencies group in /sources with 2 updates by @dependabot[bot] in #866
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
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.
This PR contains the following updates:
Release Notes
gradle/actions (gradle/actions)v6.4.0
Compare Source
Highlights
Gradle version support status in the Job Summary
The actions now report the support status of every Gradle version used in a workflow, as job
annotations and in the Job Summary (#1057). Thanks to @ov7a for the contribution.
Deliberately not reported: patch releases (being on 9.7.0 when 9.7.1 exists is not flagged) and
pre-releases (release candidates, milestones and snapshots never produce annotations). The latest
Gradle release is determined from the wrapper checksum data already bundled with the action, so no
network access is required.
Note that these annotations are emitted independently of the add-job-summary setting: setting
add-job-summary: 'never' suppresses the Job Summary itself, but the warning and notice annotations
remain.
Gradle itself is now reported in the dependency graph
The dependency-submission action now applies v1.5.0 of the
GitHub Dependency Graph Gradle Plugin
(up from v1.4.2) (#1069).
The headline change is that the Gradle Build Tool running the build is now reported as an
org.gradle:gradle-core dependency, so that GitHub can surface known vulnerabilities in the version
of Gradle used to run your build. These are the coordinates that GitHub advisories for the Gradle
Build Tool are published against.
Details worth knowing:
that filter aggressively.
A new Gradle signing key, if you use dependency verification
github-dependency-graph-gradle-plugin 1.5.0 is signed with a new Gradle signing subkey, and the
key previously documented in our setup guide has been revoked upstream:
Because the Develocity Gradle plugin is still signed with the old key, you should trust both keys
rather than swapping one for the other — replacing the old key outright will break Develocity
injection. The documented snippet in
docs/setup-gradle.md
has been updated accordingly (#1071):
cache-provider: external for externally managed Gradle User Home
Builds that save and restore Gradle User Home by some other mechanism (Develocity Artifact Cache, for
example) previously had to set cache-disabled: true, which was misleading: caching wasn't disabled,
it just wasn't managed by this action, and the Job Summary reported it as "Disabled".
cache-provider: external skips Gradle User Home restore/save exactly as cache-disabled does, but
reports a distinct External status in the Job Summary explaining that caching is handled by
another provider (#1059).
Develocity access keys containing OIDC tokens now work
Short-lived-token handling validated the server=key[;server=key]* access key format with a regex
whose key portion was too strict, so an access key holding an OIDC token value was rejected
outright. Worse, had it passed the regex, parsing split each entry on = and kept only the second
field — silently truncating any key containing = (as JWT padding does) and sending the mangled
key to the server. Both problems are fixed (#1061).
Job Summary attribution
Job summaries produced by setup-gradle and dependency-submission now carry a top-level heading
naming the action, so the block stays attributable when another action's summary content lands in the
same job (#1058).
Updated defaults
What's Changed
New Contributors
Full Changelog: gradle/actions@v6.3.0...v6.4.0
v6.3.0
Compare Source
Highlights
Enhanced Caching: Windows fixes and a cache-protocol bump
This release updates gradle-actions-caching to v1.0.0 (up from v0.7.0), which fixes two significant caching defects, both most visible on Windows:
Cache entries failed to store at all on Windows.. Every entry failed
with Path Validation Error: Path(s) specified in the action for caching do(es) not exist, even though the Gradle User Home was fully intact. Nothing was stored, so
every downstream job ran against an empty Gradle User Home. The cause was a nested,
unpatched copy of @actions/glob combined with a silently swallowed require() in
the bundle, which left Windows path separators unnormalized.
Cache cleanup deleted instrumented jars that were in use. A bug in key
hashing for paths shorter than 64 characters made cleanup judge freshly created
caches/jars-9 entries as unused and remove them, so the instrumented-jars entry
was never saved and every job re-instrumented its classpaths.
Also included: cache entry names are now consistent between the save and restore
reports — restore previously fell back to showing the raw glob pattern (e.g.
/home/runner/.gradle/caches/modules-*/files-*/*/*/*/*/) instead of dependencies.
Basic caching warns instead of failing silently
The basic (open-source) caching provider now emits a warning and reports
(Entry not saved: save failed) in the Job Summary when a cache save fails, rather
than reporting success (#1028).
Dependency submission works with Isolated Projects
dependency-submission now disables Isolated Projects via a promoted property, so
dependency graph generation works on builds that enable it (#1025). Thanks to @reinsch82 for the contribution.
Updated defaults
What's Changed
New Contributors
Full Changelog: gradle/actions@v6.2.0...v6.3.0
v6.2.0
Compare Source
Highlights
This release brings significant behaviour improvements to Enhanced caching, improvements to the generated Job Summary, and a number of correctness and security fixes.
What's Changed
New Contributors
Full Changelog: gradle/actions@v6.1.1...v6.2.0
v6.1.1
Compare Source
This release updates various dependency versions, resolving several reported security vulnerabilities.
No functional changes are included
What's Changed
Full Changelog: gradle/actions@v6.1.0...v6.1.1
v6.1.0
Compare Source
New: Basic Cache Provider
A new MIT-licensed Basic Caching provider is now available as an alternative to the proprietary Enhanced Caching provided by gradle-actions-caching. Choose Basic Caching by setting cache-provider: basic on setup-gradle or dependency-submission actions.
Limitations vs Enhanced Caching: No cache cleanup, no deduplication of cached content, cached content is fixed unless build files change.
Revamped Licensing & Distribution Documentation
What's Changed
Full Changelog: gradle/actions@v6.0.1...v6.1.0
v6.0.1
Compare Source
Summary
The license changes in v6 introduced a gradle-actions-caching license notice that is printed in logs and in each job summary.
With this release, the license notice will be muted if build-scan terms have been accepted, or if a Develocity access key is provided.
What's Changed
Full Changelog: gradle/actions@v6.0.0...v6.0.1
v6.0.0
Compare Source
Summary
What's Changed
Full Changelog: gradle/actions@v5.0.2...v6.0.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.