-
Bump
node16
tonode20
. This resolves "node16 is deprecated" warning. -
Bump Gradle to 8.8
-
Bump kotlinx-coroutines to 1.8.1
-
Bump kotlin-serialization to 1.7.1
-
Bump wrapper-validation-action to v3
-
Bump setup-java, checkout to v4
- Add wrapper-validation-action
- Bump checkout and setup-java to v3
- fix: avoid failure when index restore misses layer-..json file
- Migrate to kotlin-wrappers:kotlin-actions-toolkit for better Kotlin wrappers #65
- Bump Gradle to 8.0.1
- Bump Kotlin to 1.8.10
- Also consider nested version catalogs in default dependency paths: #63
Thanks to Vampire for the contribution.
- Trim the resulting SHA to prevent failures like in #63
Thanks to Vampire for the contribution.
See #58
Thanks to Vampire for the contribution.
Includes all the fixes from 1.13 and 1.14.
Unreleased: the code was not compatible with kotlin-wrappers/node
, so it did not work. Use 1.15 instead.
- bump @actions/core: 1.9.1 -> 1.10.0 (fix set-state warning)
- bump @actions/cache: 3.0.4 -> 3.0.6
Unreleased: the code was not compatible with kotlin-wrappers/node
, so it did not work. Use 1.15 instead.
- bump @actions/core: 1.9.0 -> 1.9.1
- bump @actions/cache: 3.0.0 -> 3.0.4
- Move from kotlinx-node to kotlin-wrappers/node
- Print stacktrace on cache proxy server failure
- Bump Gradle to 7.5.1
- Kotlin 1.4.31 legacy -> 1.7.10 IR
- @actions/cache: 1.0.1 -> 3.0.0
- @actions/core: 1.2.4 -> 1.9.0
- @actions/exec 1.0.4 -> 1.1.1
- @actions/glob 0.1.0 -> 0.3.0
- @actions/http-client 1.0.8 -> 2.0.1
- @actions/io 1.0.2 -> 1.1.2
- @actions/tool-cache 1.6.0 -> 2.0.1
- @octokit/request-error 2.0.2 -> 3.0.0
- @octokit/types 5.4.0 -> 6.39.0
- @octokit/webhooks 7.9.3 -> 10.0.8
- nodejs: 12.18.3 -> 16.16.0
Thanks to https://github.com/infomiho for #49
When Docker executes under root user, it will use /root
as home directory,
so cache location would use locations like /root/.gradle
.
The new home-directory: /path/to/proper/user/home
property can be used to
override the location of $HOME
.
See #41
Local build cache won't help much in the read-only mode since workers are stateless anyway. Disabling the cache reduces the time it takes to pack cache entries.
Previously read-only
was implemented as "skip saving the caches",
however it makes sense to configure push=false
so Gradle skips cache entry preparation as well.
Support Gradle 5 (and possibly even earlier versions).
Previously the plugin added init.gradle
script to activate remote build cache aggregator.
However, beforeSettings
is Gradle 6.0+ only, so in previous Gradle versions
gradle-cache-action
skips com.github.burrunan.multi-cache
plugin.
The impact is old Gradle versions would not be able to use both GitHub cache and custom remote build cache at the same time (only project-defined remote build cache would be used).
The following configuration would make all non-main branch builds to use read-only caching:
read-only: ${{ github.ref != 'refs/heads/main' }}
.
It would save GitHub space usage for PR builds, however, they would still use
caches from the main branch.
Bump Gradle: 6.5.1 -> 6.8.3 Bump Kotlin: 1.4.0-rc -> 1.4.31 Bump kotlinx-serialization: 1.0-M1-1.4.0-rc -> 1.1.0 Bump kotlinx-serialization: 1.0-M1-1.4.0-rc -> 1.1.0 Bump kotlinx-coroutines: 1.3.8-1.4.0-rc -> 1.4.3 Bump kotlin-wrappers: 1.0.1-pre.110 -> 1.0.1-pre.148
Add gradle-distribution-sha-256-sum-warning
option to silence warning in case checksum is missing.
Add gradle-build-scan-report
to skip publishing Gradle Build Scan URL to the job report.
Thanks to Przemysław Jakubczyk for the contributions.
feature/branch
is a valid branch name in Git, so gradle-cache-action
now escapes /
when
using branch name as a part of the cache key.
It turns out caching action can't apply exclude if user included of the parent folders.
See actions/cache#364 (comment)
It should fix errors like
C:\windows\System32\tar.exe -z -cf cache.tgz -P -C D:/a/... --files-from manifest.txt
tar.exe: Couldn't open C:/Users/runneradmin/.gradle/caches/6.6/generated-gradle-jars/generated-gradle-jars.lock: Permission denied
tar.exe: Error exit delayed from previous errors.
Modern Gradle versions issue a warning when users configure http://
build cache.
In practice, GitHub-based cache is located on localhost, so it is fine to use http.
The plugin adds the relevant configuration to silence Gradle warning.
- Add HTTP caching proxy that implements Gradle HTTP cache API effb04a
This enables Gradle to use GitHub cache API like a regular remote build cache service, so the caching is more efficient. Gradle fetches only the objects it needs, and it uploads only what was changed. Cache eviction is managed by GitHub.
The remote build cache feature activates when you use with: arguments: build ...
to launch the build. In other words, you need to launch Gradle via gradle-cache-action
rather that regular run:
or gradle-command-action
.
Here's how you can integrate build cache to existing projects:
- Apache Calcite: apache/calcite#2114
- Apache JMeter: apache/jmeter#611
- pgjdbc: pgjdbc/pgjdbc#1862
- junit-pioneer: junit-pioneer/junit-pioneer#325
- opentelemetry-java-instrumentation: open-telemetry/opentelemetry-java-instrumentation#1054
- Reduce verbosity of "cache already exists" warning to info 8ff7dd7
- Gradle dependencies: treat *.gradle.kts as a part of the cache key 1c59269
- Parse properties from properties tag rather than from arguments 140d8d9
- Add wrappers 597d5ea
- Treat workflow_dispatch event (manual launch) the same as "build from the default branch) 48e88ce
- Use defaultbranch for schedule-based builds by default 8d3e9cc
- 🐛 Avoid build failures on schedule events: use a fixed "defaultbranch" instead of computing the branch name 6957760
- 🥅 Ignore unreadable files when hasing (and print warning) 01d4c8f
- 🐛 avoid adding /**/ mask to Gradle dependencies key 6d3e893
- Add exception message to hashFiles(...) d5f863c
- Disable minification for better error reporting in GitHub 29d2590
- 🐛 Add missing await in mkdir(String) e4a441d
- 🐛 Add missing JsModule declaration 54f0245
- 🐛 Fix release publishing b52aa2f
- Split modules 365cc69
- 🔨 Split modules ec0c31a
- ✅ Add basic tests for cache store and restore, fix invalid "always partial restore" status 594213e
- Add test for hashFilesDetailed ce7fa0f
✨ add gradle-dependencies-cache-key property for configuring extra dependencies (e.g. versions declared in buildSrc/Versions.kt) cc7a294
The following caches are saved and restored:
- Gradle dependencies (~/.gradle/caches/modules-2)
- Gradle local build cache (~/.gradle/caches/build-cache-1)
- Gradle generated jars (~/.gradle/caches/./generated-gradle-jars)
- Maven local repository (~/.m2/repository)