Compare commits

...

3 Commits

Author SHA1 Message Date
Roberto Tyley
3590bfdb12
Merge f228ab54b9 into 7a445ee88d 2023-12-21 07:56:53 -07:00
Michael Keppler
7a445ee88d
Fix typo in configuration example (#572) 2023-12-21 10:03:21 +01:00
Roberto Tyley
f228ab54b9 Avoid sbt cache being invalidated for a library that is only incrementing it's own version
While working on https://github.com/guardian/gha-scala-library-release-workflow I noticed that no matter how many times I ran the workflow, `actions/setup-java` would always report `sbt cache is not found`, even if there had been no substantial change in the project - simply that `version.sbt` (the file used by https://github.com/sbt/sbt-release) had the version number in it incremented (as in b2152325ba).

This meant that turning on `cache: sbt` would actually slow the workflow considerably, as it would never benefit from the cache being present, and would always have to save it, which could take 2-3 minutes - even though it can't take advantage of the data it's saving.

As such, it would be great to exclude `version.sbt` files from the cache hash key.

Background: `cache: sbt` was orginally introduced with https://github.com/actions/setup-java/pull/302
2023-12-07 12:06:46 +00:00
3 changed files with 3 additions and 2 deletions

BIN
dist/index.js generated vendored Normal file

Binary file not shown.

View File

@ -463,7 +463,7 @@ The result is a Toolchain with entries for JDKs 8, 11 and 15. You can even combi
architecture: x64
```
This will generate a Toolchains entry with the following values: `version: 1.6`, `vendor: jkdfile`, `id: Oracle_1.6`.
This will generate a Toolchains entry with the following values: `version: 1.6`, `vendor: jdkfile`, `id: Oracle_1.6`.
### Modifying The Toolchain Vendor For JDKs
Each JDK provider will receive a default `vendor` using the `distribution` input value but this can be overridden with the `mvn-toolchain-vendor` parameter as follows.

View File

@ -58,7 +58,8 @@ const supportedPackageManager: PackageManager[] = [
'**/*.sbt',
'**/project/build.properties',
'**/project/**.scala',
'**/project/**.sbt'
'**/project/**.sbt',
'!**/version.sbt' // releasing a new version of a library project shouldn't invalidate the entire sbt cache
]
}
];